time="2024-07-08T13:33:51Z" level=warning msg="/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/integration-test/docker-compose.yaml: `version` is obsolete" Container integration-test-gateway-1 Creating Container integration-test-authorization-1 Creating Container integration-test-experiment-1 Creating Container integration-test-federation-1 Creating Container integration-test-authentication-1 Creating Container integration-test-device-1 Creating Container integration-test-authorization-1 Created Container integration-test-gateway-1 Created Container integration-test-authentication-1 Created Container integration-test-device-1 Created Container integration-test-federation-1 Created Container integration-test-experiment-1 Created Attaching to authentication-1, authorization-1, device-1, experiment-1, federation-1, gateway-1 gateway-1 | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration gateway-1 | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh gateway-1 | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf gateway-1 | 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf gateway-1 | /docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-create_config.sh gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/authorization_service.conf to /etc/nginx/authorization_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/nginx.conf to /etc/nginx/nginx.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/device_service.conf to /etc/nginx/device_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/experiment_service.conf to /etc/nginx/experiment_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/auth_service.conf to /etc/nginx/auth_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/federation_service.conf to /etc/nginx/federation_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_json_errors.conf to /etc/nginx/api_json_errors.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_backends.conf to /etc/nginx/api_backends.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_gateway.conf to /etc/nginx/api_gateway.conf gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh gateway-1 | /docker-entrypoint.sh: Configuration complete; ready for start up federation-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} federation-1 | {"level":"info","message":"Federation Service started successfully"} authorization-1 | {"addrs":["localhost:3011"],"diagnostic-addrs":[],"level":"info","msg":"Initializing server.","subsystem":"opa","time":"2024-07-08T13:34:23Z"} authentication-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} experiment-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} experiment-1 | {"level":"info","message":"Experiment Service started successfully"} device-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authentication-1 | {"level":"info","message":"Authentication Service started successfully"} device-1 | {"level":"info","message":"Device Service started successfully"} authorization-1 | {"client_addr":"127.0.0.1:58840","level":"info","msg":"Received request.","req_id":1,"req_method":"GET","req_path":"/","subsystem":"opa","time":"2024-07-08T13:34:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58840","level":"info","msg":"Sent response.","req_id":1,"req_method":"GET","req_path":"/","resp_bytes":1424,"resp_duration":0.235996,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:23Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿงช experimental features enabled: []","subsystem":"openfga","timestamp":1720445663.577913} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"using 'memory' storage engine","subsystem":"openfga","timestamp":1720445663.5781379} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"authentication is disabled","subsystem":"openfga","timestamp":1720445663.57816} 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":1720445663.578181} 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":1720445663.5782056} 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":1720445663.578253,"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":1720445663.5787024} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"HTTP server listening on 'localhost:3013'...","subsystem":"openfga","timestamp":1720445663.579566} 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:55868","raw_request":{"name":"crosslab"},"raw_response":{"created_at":"2024-07-08T13:34:23.603497220Z","id":"01J298TYBKRGD0MFGJ60SBV3AD","name":"crosslab","updated_at":"2024-07-08T13:34:23.603497220Z"},"request_id":"b91a9ef4-3a12-4d71-96b8-235522f60a62","subsystem":"openfga","timestamp":1720445663.60358} 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:55868","raw_request":{"schema_version":"1.1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_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":"01J298TYCSZ32W7M62F4QN1CV3"},"request_id":"86186dbf-8ffb-41f0-958d-b3ca5e7e7578","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445663.6414037} authorization-1 | {"client_addr":"127.0.0.1:58840","level":"info","msg":"Received request.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","subsystem":"opa","time":"2024-07-08T13:34:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58840","level":"info","msg":"Sent response.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","resp_bytes":0,"resp_duration":0.17298,"resp_status":204,"subsystem":"opa","time":"2024-07-08T13:34:23Z"} authorization-1 | {"level":"info","message":"Authorization Service started successfully"} authorization-1 | {"current_version":"0.54.0","download_opa":"https://openpolicyagent.org/downloads/v0.66.0/opa_linux_amd64","latest_version":"0.66.0","level":"info","msg":"OPA is out of date.","release_notes":"https://github.com/open-policy-agent/opa/releases/tag/v0.66.0","subsystem":"opa","time":"2024-07-08T13:34:23Z"} gateway-1 | {"time_local":"08/Jul/2024:13:34:29 +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.027","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"3a0f2d08042758fdf646a0a1712d264d"} authentication-1 | {"level":"info","message":"HEAD /auth/status 200 19ms","method":"HEAD","requestID":"3a0f2d08042758fdf646a0a1712d264d","responseTime":19,"status":200,"url":"/auth/status"} gateway-1 | {"time_local":"08/Jul/2024:13:34:29 +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.018","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"639278be45c07aaf921fd74db1f0c09c"} device-1 | {"level":"info","message":"HEAD /device/status 200 11ms","method":"HEAD","requestID":"cd545220-3d2e-11ef-b932-e1799b48160b","responseTime":11,"status":200,"url":"/device/status"} gateway-1 | {"time_local":"08/Jul/2024:13:34:29 +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":"3b3bdafaf14514fdb4c7b81019fd00f5"} 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":"3b3bdafaf14514fdb4c7b81019fd00f5"},"httpVersion":"1.0","method":"HEAD","originalUrl":"/authorization/status","query":{},"url":"/authorization/status"},"res":{"statusCode":200},"responseTime":6}} gateway-1 | {"time_local":"08/Jul/2024:13:34:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /federation/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.016","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"5fef96cd172cec40b9605944c789ad95"} federation-1 | {"level":"info","message":"HEAD /federation/status 200 10ms","method":"HEAD","requestID":"cd5b5700-3d2e-11ef-91d7-89e3216f5de0","responseTime":10,"status":200,"url":"/federation/status"} gateway-1 | {"time_local":"08/Jul/2024:13:34:29 +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.017","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"b24856315068ae35462eed29ae7b71e7"} experiment-1 | {"level":"info","message":"HEAD /experiment/status 200 10ms","method":"HEAD","requestID":"cd5f0080-3d2e-11ef-967b-27dd4d46514d","responseTime":10,"status":200,"url":"/experiment/status"} gateway-1 | {"time_local":"08/Jul/2024:13:34:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /login HTTP/1.1","status": "201","body_bytes_sent":"88","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9f51f17aa938e0846e2c66bce7de0ba1"} authentication-1 | {"level":"info","message":"POST /login 201 133ms","method":"POST","requestID":"9f51f17aa938e0846e2c66bce7de0ba1","responseTime":133,"status":201,"url":"/login"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3Mn0.stSDM-WVSCqqINsq3fpmuODCyLQVceriYY3khCRg_pw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 24ms","method":"GET","requestID":"ab166a5592a1cdc910163230872f054e","responseTime":24,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:32Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.169344,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445672,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3Mn0.stSDM-WVSCqqINsq3fpmuODCyLQVceriYY3khCRg_pw"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab166a5592a1cdc910163230872f054e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":27}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc818fdc7-2383-4ca6-b7c4-92007a19d846","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0637d7b1-8a69-4969-8bc4-f12cae27fdf1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445672.6383922} 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":"ab166a5592a1cdc910163230872f054e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cd74ae35-28bd-4eb9-8758-f7b6155e3779","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445672.6545565} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab166a5592a1cdc910163230872f054e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc818fdc7-2383-4ca6-b7c4-92007a19d846","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"d538bd6a-31a2-462b-8f59-cc032cbb50f0","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445672.6721444} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bb14b4de-3ad5-4ff7-aac8-3f44dd505934","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445672.67333} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab166a5592a1cdc910163230872f054e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":23}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc818fdc7-2383-4ca6-b7c4-92007a19d846","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc818fdc7-2383-4ca6-b7c4-92007a19d846","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:32.672106154Z"}]},"request_id":"f2ae32f9-3657-4506-a53a-4f161248655a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445672.6828265} 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":"ab166a5592a1cdc910163230872f054e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34: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.274","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ab166a5592a1cdc910163230872f054e"} device-1 | {"level":"info","message":"POST /devices? 201 229ms","method":"POST","requestID":"ab166a5592a1cdc910163230872f054e","responseTime":229,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3Mn0.stSDM-WVSCqqINsq3fpmuODCyLQVceriYY3khCRg_pw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0b6779fedc84c9e9f67f74f31b60fb7e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:32Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.688245,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445672,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3Mn0.stSDM-WVSCqqINsq3fpmuODCyLQVceriYY3khCRg_pw"} 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":"0b6779fedc84c9e9f67f74f31b60fb7e"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F309b59a7-a237-41f0-8f5b-4d9502e1e5f5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ff80693d-5f30-43a1-9185-21d28c8e8196","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445672.7409763} 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":"0b6779fedc84c9e9f67f74f31b60fb7e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6118862f-49b3-405c-8c65-dd47af1938c1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445672.755986} 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":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b6779fedc84c9e9f67f74f31b60fb7e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F309b59a7-a237-41f0-8f5b-4d9502e1e5f5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"8e25ad98-92ad-4c7a-ba01-ab6c4d2a80ab","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445672.775175} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"89b12b5f-0d8e-4ad3-952d-cde8d5185734","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445672.7754343} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b6779fedc84c9e9f67f74f31b60fb7e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":23}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F309b59a7-a237-41f0-8f5b-4d9502e1e5f5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F309b59a7-a237-41f0-8f5b-4d9502e1e5f5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:32.775159335Z"}]},"request_id":"e68ac243-e3cd-441b-9094-4dafd82165bd","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445672.7864435} 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":"0b6779fedc84c9e9f67f74f31b60fb7e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34: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.085","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0b6779fedc84c9e9f67f74f31b60fb7e"} device-1 | {"level":"info","message":"POST /devices? 201 79ms","method":"POST","requestID":"0b6779fedc84c9e9f67f74f31b60fb7e","responseTime":79,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0f82736c31631dbe5a3b51e706f011cf","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bddc25bf3cf42c44e3d64c80d06cb1b1","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:34:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c818fdc7-2383-4ca6-b7c4-92007a19d846/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":"0f82736c31631dbe5a3b51e706f011cf"} device-1 | {"level":"info","message":"OPTIONS /devices/c818fdc7-2383-4ca6-b7c4-92007a19d846/websocket 200 2ms","method":"OPTIONS","requestID":"0f82736c31631dbe5a3b51e706f011cf","responseTime":2,"status":200,"url":"/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:34:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5/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":"bddc25bf3cf42c44e3d64c80d06cb1b1"} device-1 | {"level":"info","message":"OPTIONS /devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5/websocket 200 1ms","method":"OPTIONS","requestID":"bddc25bf3cf42c44e3d64c80d06cb1b1","responseTime":1,"status":200,"url":"/devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3NX0.d-gSbtP6F5cLBJ31JhhLeUCJUKF2Z0X-lrLt3g_ngyU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 16ms","method":"GET","requestID":"e39d25a437f6b1b811671eb02002b9c3","responseTime":16,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3NX0.d-gSbtP6F5cLBJ31JhhLeUCJUKF2Z0X-lrLt3g_ngyU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 16ms","method":"GET","requestID":"92bcbe4f163c28623154485ee02cd10b","responseTime":16,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.857662,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445675,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3NX0.d-gSbtP6F5cLBJ31JhhLeUCJUKF2Z0X-lrLt3g_ngyU"} 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":"e39d25a437f6b1b811671eb02002b9c3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"client_addr":"127.0.0.1:58638","level":"info","msg":"Received request.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"client_addr":"127.0.0.1:58638","level":"info","msg":"Sent response.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.24836,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445675,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3NX0.d-gSbtP6F5cLBJ31JhhLeUCJUKF2Z0X-lrLt3g_ngyU"} 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":"92bcbe4f163c28623154485ee02cd10b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5/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":"92bcbe4f163c28623154485ee02cd10b"} device-1 | {"level":"info","message":"POST /devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5/websocket 200 47ms","method":"POST","requestID":"92bcbe4f163c28623154485ee02cd10b","responseTime":47,"status":200,"url":"/devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c818fdc7-2383-4ca6-b7c4-92007a19d846/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.074","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e39d25a437f6b1b811671eb02002b9c3"} device-1 | {"level":"info","message":"POST /devices/c818fdc7-2383-4ca6-b7c4-92007a19d846/websocket 200 55ms","method":"POST","requestID":"e39d25a437f6b1b811671eb02002b9c3","responseTime":55,"status":200,"url":"/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3NX0.d-gSbtP6F5cLBJ31JhhLeUCJUKF2Z0X-lrLt3g_ngyU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"f6e7d48610f3c5e296465876ad360ce1","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.267141,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445675,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3NX0.d-gSbtP6F5cLBJ31JhhLeUCJUKF2Z0X-lrLt3g_ngyU"} 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":"f6e7d48610f3c5e296465876ad360ce1"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc818fdc7-2383-4ca6-b7c4-92007a19d846","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc818fdc7-2383-4ca6-b7c4-92007a19d846","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:32.672106154Z"}]},"request_id":"491c9f56-4a30-4872-8db8-4213329d5bf6","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445675.2137492} 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":"f6e7d48610f3c5e296465876ad360ce1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c818fdc7-2383-4ca6-b7c4-92007a19d846? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f6e7d48610f3c5e296465876ad360ce1"} device-1 | {"level":"info","message":"GET /devices/c818fdc7-2383-4ca6-b7c4-92007a19d846? 200 38ms","method":"GET","requestID":"f6e7d48610f3c5e296465876ad360ce1","responseTime":38,"status":200,"url":"/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3NX0.d-gSbtP6F5cLBJ31JhhLeUCJUKF2Z0X-lrLt3g_ngyU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"54574701dd4812e73102d3fda75a5355","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.407482,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445675,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3NX0.d-gSbtP6F5cLBJ31JhhLeUCJUKF2Z0X-lrLt3g_ngyU"} 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":"54574701dd4812e73102d3fda75a5355"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F309b59a7-a237-41f0-8f5b-4d9502e1e5f5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F309b59a7-a237-41f0-8f5b-4d9502e1e5f5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:32.775159335Z"}]},"request_id":"ce0726e8-9e02-42ba-9aa0-7c1d431458d9","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445675.263181} 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":"54574701dd4812e73102d3fda75a5355"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"54574701dd4812e73102d3fda75a5355"} device-1 | {"level":"info","message":"GET /devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5? 200 29ms","method":"GET","requestID":"54574701dd4812e73102d3fda75a5355","responseTime":29,"status":200,"url":"/devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3NX0.d-gSbtP6F5cLBJ31JhhLeUCJUKF2Z0X-lrLt3g_ngyU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"656f011cb28041b9ed7d71b960c56484","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:58630","level":"info","msg":"Received request.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.023035,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445675,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3NX0.d-gSbtP6F5cLBJ31JhhLeUCJUKF2Z0X-lrLt3g_ngyU"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"656f011cb28041b9ed7d71b960c56484"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f34c6b62-253d-426f-a4fb-0edb663996e5"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f34c6b62-253d-426f-a4fb-0edb663996e5"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f34c6b62-253d-426f-a4fb-0edb663996e5"},"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:58630","level":"info","msg":"Received request.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.66093,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"client_addr":"127.0.0.1:58638","level":"info","msg":"Received request.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445675,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3NX0.d-gSbtP6F5cLBJ31JhhLeUCJUKF2Z0X-lrLt3g_ngyU"} 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":"d0ee41c0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:58638","level":"info","msg":"Sent response.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.657596,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445675,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3NX0.d-gSbtP6F5cLBJ31JhhLeUCJUKF2Z0X-lrLt3g_ngyU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d0ee8fe0-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc818fdc7-2383-4ca6-b7c4-92007a19d846","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc818fdc7-2383-4ca6-b7c4-92007a19d846","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:32.672106154Z"}]},"request_id":"6c46a299-1ac0-44d4-a919-41dc8c6b8a8d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445675.4977007} 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":"d0ee41c0-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F309b59a7-a237-41f0-8f5b-4d9502e1e5f5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F309b59a7-a237-41f0-8f5b-4d9502e1e5f5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:32.775159335Z"}]},"request_id":"0fcf18fc-1baf-473a-981f-b3449f3ab874","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445675.500007} 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":"d0ee8fe0-3d2e-11ef-b932-e1799b48160b"},"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/c818fdc7-2383-4ca6-b7c4-92007a19d846? 200 23ms","method":"GET","requestID":"d0ee41c0-3d2e-11ef-b932-e1799b48160b","responseTime":23,"status":200,"url":"/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5? 200 22ms","method":"GET","requestID":"d0ee8fe0-3d2e-11ef-b932-e1799b48160b","responseTime":22,"status":200,"url":"/devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f34c6b62-253d-426f-a4fb-0edb663996e5"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f34c6b62-253d-426f-a4fb-0edb663996e5"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f34c6b62-253d-426f-a4fb-0edb663996e5"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f34c6b62-253d-426f-a4fb-0edb663996e5"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f34c6b62-253d-426f-a4fb-0edb663996e5"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f34c6b62-253d-426f-a4fb-0edb663996e5"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f34c6b62-253d-426f-a4fb-0edb663996e5"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f34c6b62-253d-426f-a4fb-0edb663996e5"},"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/f34c6b62-253d-426f-a4fb-0edb663996e5"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.051775,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"client_addr":"127.0.0.1:58638","level":"info","msg":"Received request.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"client_addr":"127.0.0.1:58638","level":"info","msg":"Sent response.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.63558,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445675,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3NX0.d-gSbtP6F5cLBJ31JhhLeUCJUKF2Z0X-lrLt3g_ngyU"} 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":"d0fd35e0-3d2e-11ef-b932-e1799b48160b"},"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/309b59a7-a237-41f0-8f5b-4d9502e1e5f5","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445675,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3NX0.d-gSbtP6F5cLBJ31JhhLeUCJUKF2Z0X-lrLt3g_ngyU"} 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":"d0fd8400-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.344701,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc818fdc7-2383-4ca6-b7c4-92007a19d846","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f9f8085c-4cf2-4479-b919-0f3143ee8acd","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445675.601289} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F309b59a7-a237-41f0-8f5b-4d9502e1e5f5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F309b59a7-a237-41f0-8f5b-4d9502e1e5f5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:32.775159335Z"}]},"request_id":"b426c106-0de1-4632-a124-1932c59c6aa9","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445675.606097} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d0fdd220-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":16}} 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":"d0fd8400-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc818fdc7-2383-4ca6-b7c4-92007a19d846","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc818fdc7-2383-4ca6-b7c4-92007a19d846","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:32.672106154Z"}]},"request_id":"7744b29d-994c-4cb1-b522-ce23cc41e001","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445675.6102629} 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":"d0fd35e0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff34c6b62-253d-426f-a4fb-0edb663996e5#owner@http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff34c6b62-253d-426f-a4fb-0edb663996e5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"a93e4fd0-ed03-48a4-8d09-f93aa805c038","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445675.619781} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5? 200 37ms","method":"GET","requestID":"d0fd8400-3d2e-11ef-b932-e1799b48160b","responseTime":37,"status":200,"url":"/devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c818fdc7-2383-4ca6-b7c4-92007a19d846/signaling 200 38ms","method":"POST","requestID":"d0fdd220-3d2e-11ef-b932-e1799b48160b","responseTime":38,"status":200,"url":"/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846/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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e76b6e2f-410a-4928-9976-c2e9652813f1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445675.6203043} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/c818fdc7-2383-4ca6-b7c4-92007a19d846? 200 43ms","method":"GET","requestID":"d0fd35e0-3d2e-11ef-b932-e1799b48160b","responseTime":43,"status":200,"url":"/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846?"} 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":"656f011cb28041b9ed7d71b960c56484"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":26}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F309b59a7-a237-41f0-8f5b-4d9502e1e5f5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9328f438-087e-4ee4-a543-dd1840dbaae8","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445675.6344337} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.509911,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"client_addr":"127.0.0.1:58638","level":"info","msg":"Received request.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5","object_type":"device","rebac_allow":false,"scope_allow":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":"d1043ac0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc818fdc7-2383-4ca6-b7c4-92007a19d846","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6b9621a2-5e95-42d3-90c8-dce2c294e5c1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445675.6372056} authorization-1 | {"client_addr":"127.0.0.1:58638","level":"info","msg":"Sent response.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.577088,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:35Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846","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/f34c6b62-253d-426f-a4fb-0edb663996e5","user":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"POST /devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5/signaling 200 13ms","method":"POST","requestID":"d1043ac0-3d2e-11ef-b932-e1799b48160b","responseTime":13,"status":200,"url":"/devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d104aff0-3d2e-11ef-b932-e1799b48160b"},"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/c818fdc7-2383-4ca6-b7c4-92007a19d846/signaling 200 13ms","method":"POST","requestID":"d104aff0-3d2e-11ef-b932-e1799b48160b","responseTime":13,"status":200,"url":"/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846/signaling"} gateway-1 | {"time_local":"08/Jul/2024:13:34: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.363","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"656f011cb28041b9ed7d71b960c56484"} experiment-1 | {"level":"info","message":"POST /experiments? 201 336ms","method":"POST","requestID":"656f011cb28041b9ed7d71b960c56484","responseTime":336,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3NX0.d-gSbtP6F5cLBJ31JhhLeUCJUKF2Z0X-lrLt3g_ngyU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"064add5e257efedfbd01048859cc4d00","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F309b59a7-a237-41f0-8f5b-4d9502e1e5f5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"45a70ce4-d817-4b58-b2af-df365ca1ed3f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445675.656595} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.325106,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"client_addr":"127.0.0.1:58638","level":"info","msg":"Received request.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5","object_type":"device","rebac_allow":false,"scope_allow":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":"d1079620-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:58638","level":"info","msg":"Sent response.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.877642,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445675,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3NX0.d-gSbtP6F5cLBJ31JhhLeUCJUKF2Z0X-lrLt3g_ngyU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"064add5e257efedfbd01048859cc4d00"},"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/309b59a7-a237-41f0-8f5b-4d9502e1e5f5/signaling 200 14ms","method":"POST","requestID":"d1079620-3d2e-11ef-b932-e1799b48160b","responseTime":14,"status":200,"url":"/devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5/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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc818fdc7-2383-4ca6-b7c4-92007a19d846","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc818fdc7-2383-4ca6-b7c4-92007a19d846","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:32.672106154Z"}]},"request_id":"c93d863b-33f1-4aaa-b91d-93ffeaee00e5","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445675.6648476} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f34c6b62-253d-426f-a4fb-0edb663996e5"},"level":"info","message":"Attempting to create peerconnections for experiment"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"064add5e257efedfbd01048859cc4d00"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f34c6b62-253d-426f-a4fb-0edb663996e5"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"8ac38ffe-d5bb-4ddc-ac27-c1014678949b"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"9906aad3-6301-4c71-b069-63fcb78081dc"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"6e5f129f-74f9-43a7-ab1d-6e75e91beed0"}]},"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/309b59a7-a237-41f0-8f5b-4d9502e1e5f5"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c818fdc7-2383-4ca6-b7c4-92007a19d846? 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":"064add5e257efedfbd01048859cc4d00"} device-1 | {"level":"info","message":"GET /devices/c818fdc7-2383-4ca6-b7c4-92007a19d846? 200 24ms","method":"GET","requestID":"064add5e257efedfbd01048859cc4d00","responseTime":24,"status":200,"url":"/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846?"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.17145,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445675,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3NX0.d-gSbtP6F5cLBJ31JhhLeUCJUKF2Z0X-lrLt3g_ngyU"} 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":"d10b3fa0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3NX0.d-gSbtP6F5cLBJ31JhhLeUCJUKF2Z0X-lrLt3g_ngyU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"110848fec0f39d69e13013fdcb0a1c0c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.913492,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445675,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3NX0.d-gSbtP6F5cLBJ31JhhLeUCJUKF2Z0X-lrLt3g_ngyU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"110848fec0f39d69e13013fdcb0a1c0c"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F309b59a7-a237-41f0-8f5b-4d9502e1e5f5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F309b59a7-a237-41f0-8f5b-4d9502e1e5f5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:32.775159335Z"}]},"request_id":"a9b0ca77-c7a9-4932-b303-5c07223a8d2d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445675.695738} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"110848fec0f39d69e13013fdcb0a1c0c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5? 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":"110848fec0f39d69e13013fdcb0a1c0c"} device-1 | {"level":"info","message":"GET /devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5? 200 14ms","method":"GET","requestID":"110848fec0f39d69e13013fdcb0a1c0c","responseTime":14,"status":200,"url":"/devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5?"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","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%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"7f497b3e-b0b6-4b40-8404-5aca63d3acef","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445675.6999328} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9769c1c4-1866-47a2-96b0-696755bcf1af","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445675.7002158} 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":"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":"d10b3fa0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} 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/5e91bf59-77ef-4354-9649-f59957428d55'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/5e91bf59-77ef-4354-9649-f59957428d55'"} 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":"d10b3fa0-3d2e-11ef-b932-e1799b48160b","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/f34c6b62-253d-426f-a4fb-0edb663996e5"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc818fdc7-2383-4ca6-b7c4-92007a19d846","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f057a244-192d-4031-a65b-fd6d14afc404","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445675.7668014} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.563971,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d1185f00-3d2e-11ef-b932-e1799b48160b"},"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/c818fdc7-2383-4ca6-b7c4-92007a19d846/signaling 200 12ms","method":"POST","requestID":"d1185f00-3d2e-11ef-b932-e1799b48160b","responseTime":12,"status":200,"url":"/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F309b59a7-a237-41f0-8f5b-4d9502e1e5f5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5d418b68-a455-48e0-80e2-0aa45d212165","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445675.7815518} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.449754,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d11af710-3d2e-11ef-b932-e1799b48160b"},"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/309b59a7-a237-41f0-8f5b-4d9502e1e5f5/signaling 200 10ms","method":"POST","requestID":"d11af710-3d2e-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5e91bf59-77ef-4354-9649-f59957428d55' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5e91bf59-77ef-4354-9649-f59957428d55","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"eafa5d9fd4c565e30a81069537953d47","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/5e91bf59-77ef-4354-9649-f59957428d55"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"5e91bf59-77ef-4354-9649-f59957428d55","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 12ms","method":"POST","requestID":"eafa5d9fd4c565e30a81069537953d47","responseTime":12,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:34: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.016","http_referrer":"","http_user_agent":"node-fetch","requestID":"eafa5d9fd4c565e30a81069537953d47"} device-1 | {"data":{"peerconnection":"5e91bf59-77ef-4354-9649-f59957428d55","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/5e91bf59-77ef-4354-9649-f59957428d55' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5e91bf59-77ef-4354-9649-f59957428d55","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f80e512c056b70c212b43dc586aea076","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/309b59a7-a237-41f0-8f5b-4d9502e1e5f5"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/5e91bf59-77ef-4354-9649-f59957428d55"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5e91bf59-77ef-4354-9649-f59957428d55","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b9d51256-3eef-4905-a217-bf3c60456133","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445675.886629} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.268219,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5e91bf59-77ef-4354-9649-f59957428d55","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/5e91bf59-77ef-4354-9649-f59957428d55","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":"d12ad590-3d2e-11ef-b932-e1799b48160b"},"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/5e91bf59-77ef-4354-9649-f59957428d55 200 10ms","method":"GET","requestID":"d12ad590-3d2e-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/peerconnections/5e91bf59-77ef-4354-9649-f59957428d55"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 35ms","method":"POST","requestID":"f80e512c056b70c212b43dc586aea076","responseTime":35,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:34: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.039","http_referrer":"","http_user_agent":"node-fetch","requestID":"f80e512c056b70c212b43dc586aea076"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F309b59a7-a237-41f0-8f5b-4d9502e1e5f5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f9eceac7-3016-44ae-a1c0-dae514b51ca3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445675.9165378} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.681868,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d12f6970-3d2e-11ef-b932-e1799b48160b"},"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/309b59a7-a237-41f0-8f5b-4d9502e1e5f5/signaling 200 10ms","method":"POST","requestID":"d12f6970-3d2e-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3NX0.d-gSbtP6F5cLBJ31JhhLeUCJUKF2Z0X-lrLt3g_ngyU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f1f27c33c4480b7a53ed79992e0e65e3","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f34c6b62-253d-426f-a4fb-0edb663996e5"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"client_addr":"127.0.0.1:58638","level":"info","msg":"Received request.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc818fdc7-2383-4ca6-b7c4-92007a19d846","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ca456600-e767-40fb-ae9c-70f073994852","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445675.9299402} authorization-1 | {"client_addr":"127.0.0.1:58638","level":"info","msg":"Sent response.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.668146,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f34c6b62-253d-426f-a4fb-0edb663996e5","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/f34c6b62-253d-426f-a4fb-0edb663996e5","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445675,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3NX0.d-gSbtP6F5cLBJ31JhhLeUCJUKF2Z0X-lrLt3g_ngyU"} 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":"f1f27c33c4480b7a53ed79992e0e65e3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.169866,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846","object_type":"device","rebac_allow":false,"scope_allow":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":"d1318c50-3d2e-11ef-b932-e1799b48160b"},"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/c818fdc7-2383-4ca6-b7c4-92007a19d846/signaling 200 11ms","method":"POST","requestID":"d1318c50-3d2e-11ef-b932-e1799b48160b","responseTime":11,"status":200,"url":"/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/f34c6b62-253d-426f-a4fb-0edb663996e5"} gateway-1 | {"time_local":"08/Jul/2024:13:34:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f34c6b62-253d-426f-a4fb-0edb663996e5 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":"f1f27c33c4480b7a53ed79992e0e65e3"} experiment-1 | {"level":"info","message":"GET /experiments/f34c6b62-253d-426f-a4fb-0edb663996e5 200 16ms","method":"GET","requestID":"f1f27c33c4480b7a53ed79992e0e65e3","responseTime":16,"status":200,"url":"/experiments/f34c6b62-253d-426f-a4fb-0edb663996e5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3NX0.d-gSbtP6F5cLBJ31JhhLeUCJUKF2Z0X-lrLt3g_ngyU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0b83ceb0a8f0287d63d7b26d0225a71d","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f34c6b62-253d-426f-a4fb-0edb663996e5"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.871536,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f34c6b62-253d-426f-a4fb-0edb663996e5","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/f34c6b62-253d-426f-a4fb-0edb663996e5","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445675,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3NX0.d-gSbtP6F5cLBJ31JhhLeUCJUKF2Z0X-lrLt3g_ngyU"} 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":"0b83ceb0a8f0287d63d7b26d0225a71d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f34c6b62-253d-426f-a4fb-0edb663996e5"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.852681,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:35Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5e91bf59-77ef-4354-9649-f59957428d55","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:http://localhost/peerconnections/5e91bf59-77ef-4354-9649-f59957428d55","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445675,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3NX0.d-gSbtP6F5cLBJ31JhhLeUCJUKF2Z0X-lrLt3g_ngyU"} 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":"d137f4f0-3d2e-11ef-b932-e1799b48160b"},"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/5e91bf59-77ef-4354-9649-f59957428d55' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/5e91bf59-77ef-4354-9649-f59957428d55' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5e91bf59-77ef-4354-9649-f59957428d55","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"62010ec8b39df153dfc912a2d0b1a441","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/309b59a7-a237-41f0-8f5b-4d9502e1e5f5"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5e91bf59-77ef-4354-9649-f59957428d55"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4716c7cfdec63523418bb6baccafca1b","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/309b59a7-a237-41f0-8f5b-4d9502e1e5f5"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5e91bf59-77ef-4354-9649-f59957428d55"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5e91bf59-77ef-4354-9649-f59957428d55': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5e91bf59-77ef-4354-9649-f59957428d55","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"3944b360-8583-479b-8501-0279474f06d3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445675.993766} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3d62275b-0903-4694-9a61-3acef9f0cd4a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445675.9938738} 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":"d137f4f0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"data":{"peerconnection":"5e91bf59-77ef-4354-9649-f59957428d55","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/5e91bf59-77ef-4354-9649-f59957428d55 204 42ms","method":"DELETE","requestID":"d137f4f0-3d2e-11ef-b932-e1799b48160b","responseTime":42,"status":204,"url":"/peerconnections/5e91bf59-77ef-4354-9649-f59957428d55"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f34c6b62-253d-426f-a4fb-0edb663996e5"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:36Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F309b59a7-a237-41f0-8f5b-4d9502e1e5f5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6673eba0-44c6-4952-9b84-73b56cc9954c","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445676.0454023} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.260329,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5","object_type":"device","rebac_allow":false,"scope_allow":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":"d1422e20-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff34c6b62-253d-426f-a4fb-0edb663996e5': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff34c6b62-253d-426f-a4fb-0edb663996e5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"45cd1cbf-2a58-44e4-af11-57f26fdf8e14","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445676.051182} device-1 | {"level":"info","message":"POST /devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5/signaling 200 17ms","method":"POST","requestID":"d1422e20-3d2e-11ef-b932-e1799b48160b","responseTime":17,"status":200,"url":"/devices/309b59a7-a237-41f0-8f5b-4d9502e1e5f5/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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c2010b8c-4dee-4213-a6d4-dacc4e682673","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445676.0514727} 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":"0b83ceb0a8f0287d63d7b26d0225a71d"},"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:58630","level":"info","msg":"Received request.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:36Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc818fdc7-2383-4ca6-b7c4-92007a19d846","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f27b105c-c275-42b3-b1da-1fae38fb645e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445676.0626283} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.944798,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846","object_type":"device","rebac_allow":false,"scope_allow":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":"d1458980-3d2e-11ef-b932-e1799b48160b"},"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/c818fdc7-2383-4ca6-b7c4-92007a19d846/signaling 200 13ms","method":"POST","requestID":"d1458980-3d2e-11ef-b932-e1799b48160b","responseTime":13,"status":200,"url":"/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f34c6b62-253d-426f-a4fb-0edb663996e5"} gateway-1 | {"time_local":"08/Jul/2024:13:34:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f34c6b62-253d-426f-a4fb-0edb663996e5 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":"0b83ceb0a8f0287d63d7b26d0225a71d"} experiment-1 | {"level":"info","message":"DELETE /experiments/f34c6b62-253d-426f-a4fb-0edb663996e5 204 177ms","method":"DELETE","requestID":"0b83ceb0a8f0287d63d7b26d0225a71d","responseTime":177,"status":204,"url":"/experiments/f34c6b62-253d-426f-a4fb-0edb663996e5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 148ms","method":"POST","requestID":"62010ec8b39df153dfc912a2d0b1a441","responseTime":148,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:34:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.151","http_referrer":"","http_user_agent":"node-fetch","requestID":"62010ec8b39df153dfc912a2d0b1a441"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 146ms","method":"POST","requestID":"4716c7cfdec63523418bb6baccafca1b","responseTime":146,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:34:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.151","http_referrer":"","http_user_agent":"node-fetch","requestID":"4716c7cfdec63523418bb6baccafca1b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3Nn0.aSlEjg8fcm72yCsDxRlEoMfa0eutt60xO6w2grqmvS8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8495487c0526cb7fb4401532a99df0ba","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:13:34:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2646","request_time":"0.989","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a506a5e3a05baee905b0be56bce74bc0"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:36Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.898435,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445676,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3Nn0.aSlEjg8fcm72yCsDxRlEoMfa0eutt60xO6w2grqmvS8"} gateway-1 | {"time_local":"08/Jul/2024:13:34:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2646","request_time":"0.996","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a861006525148d75bb070aadede995d4"} 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":"8495487c0526cb7fb4401532a99df0ba"},"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/309b59a7-a237-41f0-8f5b-4d9502e1e5f5' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c818fdc7-2383-4ca6-b7c4-92007a19d846' 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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"116121c0-e8d8-4272-82a1-c1cc8102646a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445676.1698956} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8495487c0526cb7fb4401532a99df0ba"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d0a0b2d7-9cc2-4894-bbb6-61dc0542a956","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445676.1747065} 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":"8495487c0526cb7fb4401532a99df0ba"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"58c98926-09fd-4c45-984c-38a774b9211f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445676.1839705} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"878752f4-6ba6-40c6-9a5c-e90c469e06b4","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445676.1840467} 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":"8495487c0526cb7fb4401532a99df0ba"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:36.183960194Z"}]},"request_id":"4f2098c7-79f8-4e0b-b96b-1999ef4fc1e0","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445676.1886292} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8495487c0526cb7fb4401532a99df0ba"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34: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.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8495487c0526cb7fb4401532a99df0ba"} device-1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"8495487c0526cb7fb4401532a99df0ba","responseTime":51,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3Nn0.aSlEjg8fcm72yCsDxRlEoMfa0eutt60xO6w2grqmvS8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c1588edb42403fe6275e014e8fd2873f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:36Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.685669,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445676,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3Nn0.aSlEjg8fcm72yCsDxRlEoMfa0eutt60xO6w2grqmvS8"} 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":"c1588edb42403fe6275e014e8fd2873f"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F006538f3-5780-4b1f-9e62-eb229c917617","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"df394877-28b7-4fb0-9833-4524e8164516","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445676.2151053} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c1588edb42403fe6275e014e8fd2873f"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6febf321-e6f4-43fb-96e5-8d1313d125f4","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445676.2198994} 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":"c1588edb42403fe6275e014e8fd2873f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F006538f3-5780-4b1f-9e62-eb229c917617","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"3cb0a8cf-4406-4485-85d7-10d5bb56de52","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445676.230001} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4bf4cb1c-8ff7-42e6-b45f-53fa4c7f2c58","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445676.2303438} 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":"c1588edb42403fe6275e014e8fd2873f"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F006538f3-5780-4b1f-9e62-eb229c917617","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F006538f3-5780-4b1f-9e62-eb229c917617","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:36.229987700Z"}]},"request_id":"9b4a5917-932e-414f-8be5-22f0a3e52817","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445676.2356699} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c1588edb42403fe6275e014e8fd2873f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c1588edb42403fe6275e014e8fd2873f"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"c1588edb42403fe6275e014e8fd2873f","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3Nn0.aSlEjg8fcm72yCsDxRlEoMfa0eutt60xO6w2grqmvS8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"411955cc45f94e1603c1507e15b6d4b9","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:36Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.917876,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/006538f3-5780-4b1f-9e62-eb229c917617","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/006538f3-5780-4b1f-9e62-eb229c917617","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445676,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3Nn0.aSlEjg8fcm72yCsDxRlEoMfa0eutt60xO6w2grqmvS8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"411955cc45f94e1603c1507e15b6d4b9"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F006538f3-5780-4b1f-9e62-eb229c917617","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F006538f3-5780-4b1f-9e62-eb229c917617","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:36.229987700Z"}]},"request_id":"feb058f6-3af7-4c5b-a53e-3f642babbbde","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445676.8662083} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"411955cc45f94e1603c1507e15b6d4b9"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5771ee28-21e1-4d2b-928b-574750833fe8","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445676.8736272} 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":"411955cc45f94e1603c1507e15b6d4b9"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F006538f3-5780-4b1f-9e62-eb229c917617","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F006538f3-5780-4b1f-9e62-eb229c917617","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:36.229987700Z"}]},"request_id":"49e8a607-e611-4607-a6d9-7f12111533a7","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445676.8980186} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"411955cc45f94e1603c1507e15b6d4b9"},"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/006538f3-5780-4b1f-9e62-eb229c917617 200 65ms","method":"PATCH","requestID":"411955cc45f94e1603c1507e15b6d4b9","responseTime":65,"status":200,"url":"/devices/006538f3-5780-4b1f-9e62-eb229c917617"} gateway-1 | {"time_local":"08/Jul/2024:13:34:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/006538f3-5780-4b1f-9e62-eb229c917617 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.072","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"411955cc45f94e1603c1507e15b6d4b9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3Nn0.aSlEjg8fcm72yCsDxRlEoMfa0eutt60xO6w2grqmvS8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e4e755ed878dc5341127910bd166fd87","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:36Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.202941,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/006538f3-5780-4b1f-9e62-eb229c917617","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/006538f3-5780-4b1f-9e62-eb229c917617","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445676,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3Nn0.aSlEjg8fcm72yCsDxRlEoMfa0eutt60xO6w2grqmvS8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e4e755ed878dc5341127910bd166fd87"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/006538f3-5780-4b1f-9e62-eb229c917617/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.035","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"e4e755ed878dc5341127910bd166fd87"} device-1 | {"level":"info","message":"POST /devices/006538f3-5780-4b1f-9e62-eb229c917617/websocket 200 28ms","method":"POST","requestID":"e4e755ed878dc5341127910bd166fd87","responseTime":28,"status":200,"url":"/devices/006538f3-5780-4b1f-9e62-eb229c917617/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/006538f3-5780-4b1f-9e62-eb229c917617' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c3cd62e5e637baaf559d84448926ccad","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:34:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.007","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c3cd62e5e637baaf559d84448926ccad"} device-1 | {"level":"info","message":"OPTIONS /devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb/websocket 200 1ms","method":"OPTIONS","requestID":"c3cd62e5e637baaf559d84448926ccad","responseTime":1,"status":200,"url":"/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3OH0.Y7NdEyT8PDHiRpObwbr3pFv5lq_e79ysRYBhhFdUwvk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"8fd2aa7a0510c81188111d359581dea1","responseTime":9,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:38Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.23667,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445678,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3OH0.Y7NdEyT8PDHiRpObwbr3pFv5lq_e79ysRYBhhFdUwvk"} 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":"8fd2aa7a0510c81188111d359581dea1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb/websocket 200 28ms","method":"POST","requestID":"8fd2aa7a0510c81188111d359581dea1","responseTime":28,"status":200,"url":"/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:34:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.040","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8fd2aa7a0510c81188111d359581dea1"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3OH0.Y7NdEyT8PDHiRpObwbr3pFv5lq_e79ysRYBhhFdUwvk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"865a5cbc675c9893b61e461fb28af981","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:38Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.457139,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445678,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3OH0.Y7NdEyT8PDHiRpObwbr3pFv5lq_e79ysRYBhhFdUwvk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"865a5cbc675c9893b61e461fb28af981"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:36.183960194Z"}]},"request_id":"9f990396-b4af-46ce-836c-be1e972384ae","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445678.3474648} 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":"865a5cbc675c9893b61e461fb28af981"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb? 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":"865a5cbc675c9893b61e461fb28af981"} device-1 | {"level":"info","message":"GET /devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb? 200 22ms","method":"GET","requestID":"865a5cbc675c9893b61e461fb28af981","responseTime":22,"status":200,"url":"/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3OH0.Y7NdEyT8PDHiRpObwbr3pFv5lq_e79ysRYBhhFdUwvk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"09f10c195be1f8426dc7df61cbed3932","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:38Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.338159,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/006538f3-5780-4b1f-9e62-eb229c917617","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/006538f3-5780-4b1f-9e62-eb229c917617","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445678,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3OH0.Y7NdEyT8PDHiRpObwbr3pFv5lq_e79ysRYBhhFdUwvk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"09f10c195be1f8426dc7df61cbed3932"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F006538f3-5780-4b1f-9e62-eb229c917617","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F006538f3-5780-4b1f-9e62-eb229c917617","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:36.229987700Z"}]},"request_id":"5f490423-e5f3-4a2c-a6b6-ca063c2eb8c8","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445678.379716} 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":"09f10c195be1f8426dc7df61cbed3932"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/006538f3-5780-4b1f-9e62-eb229c917617? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"09f10c195be1f8426dc7df61cbed3932"} device-1 | {"level":"info","message":"GET /devices/006538f3-5780-4b1f-9e62-eb229c917617? 200 22ms","method":"GET","requestID":"09f10c195be1f8426dc7df61cbed3932","responseTime":22,"status":200,"url":"/devices/006538f3-5780-4b1f-9e62-eb229c917617?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3OH0.Y7NdEyT8PDHiRpObwbr3pFv5lq_e79ysRYBhhFdUwvk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"19273e01332e9b3d2166afb24d868ad7","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:58630","level":"info","msg":"Received request.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:38Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.313745,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445678,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3OH0.Y7NdEyT8PDHiRpObwbr3pFv5lq_e79ysRYBhhFdUwvk"} 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":"19273e01332e9b3d2166afb24d868ad7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/469ce4ab-e22c-470a-8670-6c9417492c01"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/469ce4ab-e22c-470a-8670-6c9417492c01"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/469ce4ab-e22c-470a-8670-6c9417492c01"},"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:58630","level":"info","msg":"Received request.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:38Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.643868,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445678,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3OH0.Y7NdEyT8PDHiRpObwbr3pFv5lq_e79ysRYBhhFdUwvk"} 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":"d2b5bb50-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:58638","level":"info","msg":"Received request.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:38Z"} authorization-1 | {"client_addr":"127.0.0.1:58638","level":"info","msg":"Sent response.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.609456,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/006538f3-5780-4b1f-9e62-eb229c917617","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/006538f3-5780-4b1f-9e62-eb229c917617","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445678,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3OH0.Y7NdEyT8PDHiRpObwbr3pFv5lq_e79ysRYBhhFdUwvk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d2b63080-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:36.183960194Z"}]},"request_id":"22759374-6a13-4459-9fac-77d9795feba7","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445678.4795187} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d2b5bb50-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F006538f3-5780-4b1f-9e62-eb229c917617","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F006538f3-5780-4b1f-9e62-eb229c917617","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:36.229987700Z"}]},"request_id":"aa5df554-f6d2-4d24-b18e-48f782fc429e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445678.4829032} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb? 200 15ms","method":"GET","requestID":"d2b5bb50-3d2e-11ef-b932-e1799b48160b","responseTime":15,"status":200,"url":"/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d2b63080-3d2e-11ef-b932-e1799b48160b"},"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/006538f3-5780-4b1f-9e62-eb229c917617? 200 16ms","method":"GET","requestID":"d2b63080-3d2e-11ef-b932-e1799b48160b","responseTime":16,"status":200,"url":"/devices/006538f3-5780-4b1f-9e62-eb229c917617?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/469ce4ab-e22c-470a-8670-6c9417492c01"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/469ce4ab-e22c-470a-8670-6c9417492c01"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/469ce4ab-e22c-470a-8670-6c9417492c01"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/469ce4ab-e22c-470a-8670-6c9417492c01"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/469ce4ab-e22c-470a-8670-6c9417492c01"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/469ce4ab-e22c-470a-8670-6c9417492c01"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/469ce4ab-e22c-470a-8670-6c9417492c01"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/469ce4ab-e22c-470a-8670-6c9417492c01"},"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:58630","level":"info","msg":"Received request.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:38Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.662629,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:38Z"} authorization-1 | {"client_addr":"127.0.0.1:58638","level":"info","msg":"Received request.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445678,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3OH0.Y7NdEyT8PDHiRpObwbr3pFv5lq_e79ysRYBhhFdUwvk"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/469ce4ab-e22c-470a-8670-6c9417492c01"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d2c23e70-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:58638","level":"info","msg":"Sent response.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.741492,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/006538f3-5780-4b1f-9e62-eb229c917617","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/006538f3-5780-4b1f-9e62-eb229c917617","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445678,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3OH0.Y7NdEyT8PDHiRpObwbr3pFv5lq_e79ysRYBhhFdUwvk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d2c2b3a0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:38Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.184695,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:38Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c0bd05aa-a4bb-4881-8e03-ca669025d811","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445678.5640128} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:36.183960194Z"}]},"request_id":"f263334a-c25f-4629-a6a9-59225e0f824c","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445678.5657365} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F006538f3-5780-4b1f-9e62-eb229c917617","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F006538f3-5780-4b1f-9e62-eb229c917617","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:36.229987700Z"}]},"request_id":"612e3e4e-c744-42c5-99f7-ac680d9e78d4","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445678.5666482} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","object_type":"device","rebac_allow":false,"scope_allow":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":"d2c301c0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d2c23e70-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"level":"info","message":"POST /relations/query 200 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":"d2c2b3a0-3d2e-11ef-b932-e1799b48160b"},"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/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb/signaling 200 18ms","method":"POST","requestID":"d2c301c0-3d2e-11ef-b932-e1799b48160b","responseTime":18,"status":200,"url":"/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb? 200 24ms","method":"GET","requestID":"d2c23e70-3d2e-11ef-b932-e1799b48160b","responseTime":24,"status":200,"url":"/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/006538f3-5780-4b1f-9e62-eb229c917617? 200 23ms","method":"GET","requestID":"d2c2b3a0-3d2e-11ef-b932-e1799b48160b","responseTime":23,"status":200,"url":"/devices/006538f3-5780-4b1f-9e62-eb229c917617?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:38Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F006538f3-5780-4b1f-9e62-eb229c917617","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bfbf0780-c2c7-474a-9abf-6c0a2ea8e740","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445678.5830064} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F469ce4ab-e22c-470a-8670-6c9417492c01#owner@http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F469ce4ab-e22c-470a-8670-6c9417492c01","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"0f273734-46ad-4004-9c3c-0fa84b420fe9","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445678.5836484} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0432012d-5852-4bd2-8b41-5d0ad6ceaa49","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445678.5847554} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.094896,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:38Z"} authorization-1 | {"client_addr":"127.0.0.1:58638","level":"info","msg":"Received request.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/006538f3-5780-4b1f-9e62-eb229c917617","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/006538f3-5780-4b1f-9e62-eb229c917617","object_type":"device","rebac_allow":false,"scope_allow":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":"d2c65d20-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} 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":"19273e01332e9b3d2166afb24d868ad7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":27}} device-1 | {"level":"info","message":"POST /devices/006538f3-5780-4b1f-9e62-eb229c917617/signaling 200 12ms","method":"POST","requestID":"d2c65d20-3d2e-11ef-b932-e1799b48160b","responseTime":12,"status":200,"url":"/devices/006538f3-5780-4b1f-9e62-eb229c917617/signaling"} authorization-1 | {"client_addr":"127.0.0.1:58638","level":"info","msg":"Sent response.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.309437,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:38Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c9ccf75e-f3e6-4618-b60f-a50f5a340604","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445678.5869877} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","object_type":"device","rebac_allow":false,"scope_allow":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":"d2c6ab40-3d2e-11ef-b932-e1799b48160b"},"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/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb/signaling 200 14ms","method":"POST","requestID":"d2c6ab40-3d2e-11ef-b932-e1799b48160b","responseTime":14,"status":200,"url":"/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/469ce4ab-e22c-470a-8670-6c9417492c01","user":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} gateway-1 | {"time_local":"08/Jul/2024:13:34: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.208","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"19273e01332e9b3d2166afb24d868ad7"} experiment-1 | {"level":"info","message":"POST /experiments? 201 197ms","method":"POST","requestID":"19273e01332e9b3d2166afb24d868ad7","responseTime":197,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:38Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F006538f3-5780-4b1f-9e62-eb229c917617","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"896384ac-9300-4768-9608-b2b4ff159b27","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445678.6026843} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.198912,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:38Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3OH0.Y7NdEyT8PDHiRpObwbr3pFv5lq_e79ysRYBhhFdUwvk","level":"info","message":"auth send jwt"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/006538f3-5780-4b1f-9e62-eb229c917617","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/006538f3-5780-4b1f-9e62-eb229c917617","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f352fa7c866fd7e42145529c8c0cd942","responseTime":4,"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":"d2c96a60-3d2e-11ef-b932-e1799b48160b"},"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"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:38Z"} device-1 | {"level":"info","message":"POST /devices/006538f3-5780-4b1f-9e62-eb229c917617/signaling 200 11ms","method":"POST","requestID":"d2c96a60-3d2e-11ef-b932-e1799b48160b","responseTime":11,"status":200,"url":"/devices/006538f3-5780-4b1f-9e62-eb229c917617/signaling"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.94223,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:38Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/469ce4ab-e22c-470a-8670-6c9417492c01"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/469ce4ab-e22c-470a-8670-6c9417492c01"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"1e8f72eb-3fb4-401e-8105-acd46e08688a"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"835ad7e9-73b8-4ea3-814e-e1c63a4aeb01"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"fe233788-a679-4d41-85e7-b943f5b34e8d"}]},"level":"info","message":"Built pairwise service configurations"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445678,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3OH0.Y7NdEyT8PDHiRpObwbr3pFv5lq_e79ysRYBhhFdUwvk"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/006538f3-5780-4b1f-9e62-eb229c917617"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} 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":"f352fa7c866fd7e42145529c8c0cd942"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:36.183960194Z"}]},"request_id":"f3084c1a-e2a7-4dea-a004-3399a5d29209","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445678.6151826} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f352fa7c866fd7e42145529c8c0cd942"},"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:58630","level":"info","msg":"Received request.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:38Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.687425,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445678,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3OH0.Y7NdEyT8PDHiRpObwbr3pFv5lq_e79ysRYBhhFdUwvk"} 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":"d2cbb450-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb? 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":"f352fa7c866fd7e42145529c8c0cd942"} device-1 | {"level":"info","message":"GET /devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb? 200 15ms","method":"GET","requestID":"f352fa7c866fd7e42145529c8c0cd942","responseTime":15,"status":200,"url":"/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3OH0.Y7NdEyT8PDHiRpObwbr3pFv5lq_e79ysRYBhhFdUwvk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d9825882f95ceee5a3e87514b49c9f50","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","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%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"195f1147-7b63-4df2-99c8-749483a55b8c","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445678.6299374} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"760ad847-4ddd-4ba9-94fc-9338d94297be","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445678.630293} 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":"d2cbb450-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:38Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.626877,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/006538f3-5780-4b1f-9e62-eb229c917617","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/006538f3-5780-4b1f-9e62-eb229c917617","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445678,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY3OH0.Y7NdEyT8PDHiRpObwbr3pFv5lq_e79ysRYBhhFdUwvk"} 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":"d9825882f95ceee5a3e87514b49c9f50"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F006538f3-5780-4b1f-9e62-eb229c917617","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F006538f3-5780-4b1f-9e62-eb229c917617","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:36.229987700Z"}]},"request_id":"ff0e9ce3-8c8d-4c94-97b6-f5619617ddb0","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445678.6384344} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d9825882f95ceee5a3e87514b49c9f50"},"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/abcee6b1-ee11-4b88-8a94-3aee8a4b1f95'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/abcee6b1-ee11-4b88-8a94-3aee8a4b1f95'"} 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":"d2cbb450-3d2e-11ef-b932-e1799b48160b","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":"08/Jul/2024:13:34:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/006538f3-5780-4b1f-9e62-eb229c917617? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d9825882f95ceee5a3e87514b49c9f50"} device-1 | {"level":"info","message":"GET /devices/006538f3-5780-4b1f-9e62-eb229c917617? 200 22ms","method":"GET","requestID":"d9825882f95ceee5a3e87514b49c9f50","responseTime":22,"status":200,"url":"/devices/006538f3-5780-4b1f-9e62-eb229c917617?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/469ce4ab-e22c-470a-8670-6c9417492c01"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:38Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eadcc293-a3af-4351-b535-35b3dd41de47","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445678.6831994} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.627832,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","object_type":"device","rebac_allow":false,"scope_allow":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":"d2d59f60-3d2e-11ef-b932-e1799b48160b"},"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/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb/signaling 200 10ms","method":"POST","requestID":"d2d59f60-3d2e-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:38Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F006538f3-5780-4b1f-9e62-eb229c917617","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ca3bf4d6-d526-4fa9-bac1-7a24740d16aa","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445678.6963205} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.935153,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/006538f3-5780-4b1f-9e62-eb229c917617","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/006538f3-5780-4b1f-9e62-eb229c917617","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d2d77420-3d2e-11ef-b932-e1799b48160b"},"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/006538f3-5780-4b1f-9e62-eb229c917617/signaling 200 12ms","method":"POST","requestID":"d2d77420-3d2e-11ef-b932-e1799b48160b","responseTime":12,"status":200,"url":"/devices/006538f3-5780-4b1f-9e62-eb229c917617/signaling"} device-1 | {"data":{"peerconnection":"abcee6b1-ee11-4b88-8a94-3aee8a4b1f95","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/abcee6b1-ee11-4b88-8a94-3aee8a4b1f95' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"abcee6b1-ee11-4b88-8a94-3aee8a4b1f95","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9fd4736ffc4d4e546a75ffb70a4b09e6","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/006538f3-5780-4b1f-9e62-eb229c917617"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/abcee6b1-ee11-4b88-8a94-3aee8a4b1f95"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 13ms","method":"POST","requestID":"9fd4736ffc4d4e546a75ffb70a4b09e6","responseTime":13,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:34: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.018","http_referrer":"","http_user_agent":"node-fetch","requestID":"9fd4736ffc4d4e546a75ffb70a4b09e6"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb'"} device-1 | {"data":{"peerconnection":"abcee6b1-ee11-4b88-8a94-3aee8a4b1f95","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"abcee6b1-ee11-4b88-8a94-3aee8a4b1f95","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/abcee6b1-ee11-4b88-8a94-3aee8a4b1f95' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"abcee6b1-ee11-4b88-8a94-3aee8a4b1f95","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1def4752d4383d6562f39a69ff0353d9","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/006538f3-5780-4b1f-9e62-eb229c917617"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/abcee6b1-ee11-4b88-8a94-3aee8a4b1f95"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:40Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fabcee6b1-ee11-4b88-8a94-3aee8a4b1f95","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6f2ed204-1507-4273-a567-ee15fe8ef880","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445680.8097134} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.12895,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/abcee6b1-ee11-4b88-8a94-3aee8a4b1f95","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/abcee6b1-ee11-4b88-8a94-3aee8a4b1f95","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":"d419df30-3d2e-11ef-b932-e1799b48160b"},"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/abcee6b1-ee11-4b88-8a94-3aee8a4b1f95 200 12ms","method":"GET","requestID":"d419df30-3d2e-11ef-b932-e1799b48160b","responseTime":12,"status":200,"url":"/peerconnections/abcee6b1-ee11-4b88-8a94-3aee8a4b1f95"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 50ms","method":"POST","requestID":"1def4752d4383d6562f39a69ff0353d9","responseTime":50,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:34: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.055","http_referrer":"","http_user_agent":"node-fetch","requestID":"1def4752d4383d6562f39a69ff0353d9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:40Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F006538f3-5780-4b1f-9e62-eb229c917617","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e31421b2-2540-44b3-9bdc-e45176ddd66b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445680.8532073} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.955532,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/006538f3-5780-4b1f-9e62-eb229c917617","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/006538f3-5780-4b1f-9e62-eb229c917617","object_type":"device","rebac_allow":false,"scope_allow":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":"d42047d0-3d2e-11ef-b932-e1799b48160b"},"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/006538f3-5780-4b1f-9e62-eb229c917617/signaling 200 15ms","method":"POST","requestID":"d42047d0-3d2e-11ef-b932-e1799b48160b","responseTime":15,"status":200,"url":"/devices/006538f3-5780-4b1f-9e62-eb229c917617/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:40Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0f8de60d-0d56-44ae-a112-09ca9778ed25","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445680.8703341} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.236805,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","object_type":"device","rebac_allow":false,"scope_allow":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":"d42306f0-3d2e-11ef-b932-e1799b48160b"},"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/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb/signaling 200 15ms","method":"POST","requestID":"d42306f0-3d2e-11ef-b932-e1799b48160b","responseTime":15,"status":200,"url":"/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4MH0.C8XgZ0k8bfYi8pNhPjYM0W8ZGKET9bmzmEJ6zEZY6TM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5c801275d4e9418028201658d7d4bfd5","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/469ce4ab-e22c-470a-8670-6c9417492c01"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:40Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.735825,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/469ce4ab-e22c-470a-8670-6c9417492c01","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/469ce4ab-e22c-470a-8670-6c9417492c01","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445680,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4MH0.C8XgZ0k8bfYi8pNhPjYM0W8ZGKET9bmzmEJ6zEZY6TM"} 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":"5c801275d4e9418028201658d7d4bfd5"},"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/469ce4ab-e22c-470a-8670-6c9417492c01"} gateway-1 | {"time_local":"08/Jul/2024:13:34:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/469ce4ab-e22c-470a-8670-6c9417492c01 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":"5c801275d4e9418028201658d7d4bfd5"} experiment-1 | {"level":"info","message":"GET /experiments/469ce4ab-e22c-470a-8670-6c9417492c01 200 21ms","method":"GET","requestID":"5c801275d4e9418028201658d7d4bfd5","responseTime":21,"status":200,"url":"/experiments/469ce4ab-e22c-470a-8670-6c9417492c01"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4MH0.C8XgZ0k8bfYi8pNhPjYM0W8ZGKET9bmzmEJ6zEZY6TM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"93eed5b2adc33d5a017fb0f931f6880e","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/469ce4ab-e22c-470a-8670-6c9417492c01"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:40Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.935068,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:40Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/469ce4ab-e22c-470a-8670-6c9417492c01","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/469ce4ab-e22c-470a-8670-6c9417492c01","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445680,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4MH0.C8XgZ0k8bfYi8pNhPjYM0W8ZGKET9bmzmEJ6zEZY6TM"} 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":"93eed5b2adc33d5a017fb0f931f6880e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/469ce4ab-e22c-470a-8670-6c9417492c01"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:40Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.17131,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:40Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/abcee6b1-ee11-4b88-8a94-3aee8a4b1f95","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:http://localhost/peerconnections/abcee6b1-ee11-4b88-8a94-3aee8a4b1f95","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445680,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4MH0.C8XgZ0k8bfYi8pNhPjYM0W8ZGKET9bmzmEJ6zEZY6TM"} 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":"d42d6730-3d2e-11ef-b932-e1799b48160b"},"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/abcee6b1-ee11-4b88-8a94-3aee8a4b1f95' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/abcee6b1-ee11-4b88-8a94-3aee8a4b1f95' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"abcee6b1-ee11-4b88-8a94-3aee8a4b1f95","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8af1e5fd03e6e53d2429c209a201aa32","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a89456a134fa87bf14c3443da9bf6203","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/006538f3-5780-4b1f-9e62-eb229c917617"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/abcee6b1-ee11-4b88-8a94-3aee8a4b1f95"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fabcee6b1-ee11-4b88-8a94-3aee8a4b1f95': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fabcee6b1-ee11-4b88-8a94-3aee8a4b1f95","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"efcf435e-8e47-424f-96eb-4f36d5d2044d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445680.9657211} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3748a732-1281-44d3-a96c-c851cb2b15d2","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445680.9662697} 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/006538f3-5780-4b1f-9e62-eb229c917617"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/abcee6b1-ee11-4b88-8a94-3aee8a4b1f95"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d42d6730-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} device-1 | {"data":{"peerconnection":"abcee6b1-ee11-4b88-8a94-3aee8a4b1f95","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/abcee6b1-ee11-4b88-8a94-3aee8a4b1f95 204 54ms","method":"DELETE","requestID":"d42d6730-3d2e-11ef-b932-e1799b48160b","responseTime":54,"status":204,"url":"/peerconnections/abcee6b1-ee11-4b88-8a94-3aee8a4b1f95"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/469ce4ab-e22c-470a-8670-6c9417492c01"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:41Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F006538f3-5780-4b1f-9e62-eb229c917617","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c4cf1e49-c52d-46b4-88cc-ab715ac3f52c","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445681.0223184} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.948233,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/006538f3-5780-4b1f-9e62-eb229c917617","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/006538f3-5780-4b1f-9e62-eb229c917617","object_type":"device","rebac_allow":false,"scope_allow":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":"d43a1160-3d2e-11ef-b932-e1799b48160b"},"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/006538f3-5780-4b1f-9e62-eb229c917617/signaling 200 15ms","method":"POST","requestID":"d43a1160-3d2e-11ef-b932-e1799b48160b","responseTime":15,"status":200,"url":"/devices/006538f3-5780-4b1f-9e62-eb229c917617/signaling"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F469ce4ab-e22c-470a-8670-6c9417492c01': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F469ce4ab-e22c-470a-8670-6c9417492c01","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"41ea67d2-e6d6-4e36-a27c-445a19b2ed28","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445681.0316854} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d95b2a29-9b1e-413a-97fb-a3472530188a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445681.0323799} 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":"93eed5b2adc33d5a017fb0f931f6880e"},"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:58630","level":"info","msg":"Received request.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:41Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"218ec189-6571-4096-a7d5-10beed9abe8b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445681.0401845} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.228946,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d43cf790-3d2e-11ef-b932-e1799b48160b"},"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/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb/signaling 200 14ms","method":"POST","requestID":"d43cf790-3d2e-11ef-b932-e1799b48160b","responseTime":14,"status":200,"url":"/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/469ce4ab-e22c-470a-8670-6c9417492c01"} gateway-1 | {"time_local":"08/Jul/2024:13:34:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/469ce4ab-e22c-470a-8670-6c9417492c01 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.203","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"93eed5b2adc33d5a017fb0f931f6880e"} experiment-1 | {"level":"info","message":"DELETE /experiments/469ce4ab-e22c-470a-8670-6c9417492c01 204 199ms","method":"DELETE","requestID":"93eed5b2adc33d5a017fb0f931f6880e","responseTime":199,"status":204,"url":"/experiments/469ce4ab-e22c-470a-8670-6c9417492c01"} gateway-1 | {"time_local":"08/Jul/2024:13:34:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2991","request_time":"4.160","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"1c0d6a2a500da9e86f3a8a6142e07bf7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 151ms","method":"POST","requestID":"8af1e5fd03e6e53d2429c209a201aa32","responseTime":151,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:34:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.158","http_referrer":"","http_user_agent":"node-fetch","requestID":"8af1e5fd03e6e53d2429c209a201aa32"} gateway-1 | {"time_local":"08/Jul/2024:13:34:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.159","http_referrer":"","http_user_agent":"node-fetch","requestID":"a89456a134fa87bf14c3443da9bf6203"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 149ms","method":"POST","requestID":"a89456a134fa87bf14c3443da9bf6203","responseTime":149,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4MX0.yNjzNSCNXIG0tQA8PJVGdH8fEBbtPdlQahQ-uQeiB5c","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"ef312b1a53b242d32f1ce8a7450a5ef6","responseTime":7,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:34:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2501","request_time":"2.816","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"48cc17782ed762d6153bf743d2fee48a"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:41Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.947236,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445681,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4MX0.yNjzNSCNXIG0tQA8PJVGdH8fEBbtPdlQahQ-uQeiB5c"} 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":"ef312b1a53b242d32f1ce8a7450a5ef6"},"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/006538f3-5780-4b1f-9e62-eb229c917617' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d0e537e7-3c5d-40ff-b6a1-e0ff40a0a0eb' 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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8160ae72-6403-4428-badb-0440bdd144e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e44129d3-b810-4ffb-ae29-5184c1ce7bd5","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445681.156321} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ef312b1a53b242d32f1ce8a7450a5ef6"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e4ec73bd-4cb6-43a2-9e9e-0ce0ecd83ed5","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445681.1624556} 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":"ef312b1a53b242d32f1ce8a7450a5ef6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8160ae72-6403-4428-badb-0440bdd144e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"60326ff2-8f0f-4ba2-ae37-4212b397bdd6","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445681.1726344} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e3889d71-2cdc-4ae6-86f7-3fcc43486db8","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445681.1729517} 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":"ef312b1a53b242d32f1ce8a7450a5ef6"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8160ae72-6403-4428-badb-0440bdd144e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8160ae72-6403-4428-badb-0440bdd144e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:41.172622685Z"}]},"request_id":"c1172e3c-0f3e-4b3c-a2b9-02ec7b67a779","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445681.1786034} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ef312b1a53b242d32f1ce8a7450a5ef6"},"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 55ms","method":"POST","requestID":"ef312b1a53b242d32f1ce8a7450a5ef6","responseTime":55,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:13:34:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.069","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ef312b1a53b242d32f1ce8a7450a5ef6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4MX0.yNjzNSCNXIG0tQA8PJVGdH8fEBbtPdlQahQ-uQeiB5c","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"989f1936f3ea96b86567b65a94c2635e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:41Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.816469,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445681,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4MX0.yNjzNSCNXIG0tQA8PJVGdH8fEBbtPdlQahQ-uQeiB5c"} 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":"989f1936f3ea96b86567b65a94c2635e"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8654cdcb-5dcb-4972-a604-e3898b82727d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ac531711-17bb-40d7-bf9a-9fe580fe641d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445681.2107675} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"989f1936f3ea96b86567b65a94c2635e"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c832046c-6332-4083-8b24-119ad5cf1a24","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445681.216637} 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":"989f1936f3ea96b86567b65a94c2635e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8654cdcb-5dcb-4972-a604-e3898b82727d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"eeaa5382-0a17-42eb-aeb5-034ffc7b8084","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445681.2294273} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"60260658-6e88-453c-be84-c597bab4e1bf","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445681.2295537} 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":"989f1936f3ea96b86567b65a94c2635e"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8654cdcb-5dcb-4972-a604-e3898b82727d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8654cdcb-5dcb-4972-a604-e3898b82727d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:41.229413661Z"}]},"request_id":"93d839ce-18a4-4cf3-9eaf-983842909db2","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445681.2354782} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"989f1936f3ea96b86567b65a94c2635e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34: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.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"989f1936f3ea96b86567b65a94c2635e"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"989f1936f3ea96b86567b65a94c2635e","responseTime":49,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4MX0.yNjzNSCNXIG0tQA8PJVGdH8fEBbtPdlQahQ-uQeiB5c","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ace2df85fda39fab9cef06f3748efd52","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:41Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.254846,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8160ae72-6403-4428-badb-0440bdd144e4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/8160ae72-6403-4428-badb-0440bdd144e4","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445681,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4MX0.yNjzNSCNXIG0tQA8PJVGdH8fEBbtPdlQahQ-uQeiB5c"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ace2df85fda39fab9cef06f3748efd52"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8160ae72-6403-4428-badb-0440bdd144e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8160ae72-6403-4428-badb-0440bdd144e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:41.172622685Z"}]},"request_id":"7bc3936c-cde1-4606-878a-41ae48a3095a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445681.7257695} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ace2df85fda39fab9cef06f3748efd52"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b4121b48-6a54-4a45-87fc-c9bfd84c9c09","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445681.7325428} 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":"ace2df85fda39fab9cef06f3748efd52"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8160ae72-6403-4428-badb-0440bdd144e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8160ae72-6403-4428-badb-0440bdd144e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:41.172622685Z"}]},"request_id":"ffb3c18b-c911-4c14-be81-a1e545de3de2","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445681.7469409} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ace2df85fda39fab9cef06f3748efd52"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/8160ae72-6403-4428-badb-0440bdd144e4 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"ace2df85fda39fab9cef06f3748efd52"} device-1 | {"level":"info","message":"PATCH /devices/8160ae72-6403-4428-badb-0440bdd144e4 200 40ms","method":"PATCH","requestID":"ace2df85fda39fab9cef06f3748efd52","responseTime":40,"status":200,"url":"/devices/8160ae72-6403-4428-badb-0440bdd144e4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4MX0.yNjzNSCNXIG0tQA8PJVGdH8fEBbtPdlQahQ-uQeiB5c","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"42d8ce5c3b597afd580f0680cb9abd31","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:41Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.266597,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8160ae72-6403-4428-badb-0440bdd144e4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/8160ae72-6403-4428-badb-0440bdd144e4","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445681,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4MX0.yNjzNSCNXIG0tQA8PJVGdH8fEBbtPdlQahQ-uQeiB5c"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"42d8ce5c3b597afd580f0680cb9abd31"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8160ae72-6403-4428-badb-0440bdd144e4/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.030","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"42d8ce5c3b597afd580f0680cb9abd31"} device-1 | {"level":"info","message":"POST /devices/8160ae72-6403-4428-badb-0440bdd144e4/websocket 200 23ms","method":"POST","requestID":"42d8ce5c3b597afd580f0680cb9abd31","responseTime":23,"status":200,"url":"/devices/8160ae72-6403-4428-badb-0440bdd144e4/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8160ae72-6403-4428-badb-0440bdd144e4' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2a6345257adb45fa25caad233e500416","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:34:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8654cdcb-5dcb-4972-a604-e3898b82727d/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":"2a6345257adb45fa25caad233e500416"} device-1 | {"level":"info","message":"OPTIONS /devices/8654cdcb-5dcb-4972-a604-e3898b82727d/websocket 200 1ms","method":"OPTIONS","requestID":"2a6345257adb45fa25caad233e500416","responseTime":1,"status":200,"url":"/devices/8654cdcb-5dcb-4972-a604-e3898b82727d/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4M30.VEmwG7qH9BWXpR2CHCy8MOOA1X4CvwLdiBRPQaJe0fE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"7d9c9e7682290abb1ff09af68cbad97c","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:43Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.765464,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8654cdcb-5dcb-4972-a604-e3898b82727d","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/8654cdcb-5dcb-4972-a604-e3898b82727d","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445683,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4M30.VEmwG7qH9BWXpR2CHCy8MOOA1X4CvwLdiBRPQaJe0fE"} 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":"7d9c9e7682290abb1ff09af68cbad97c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8654cdcb-5dcb-4972-a604-e3898b82727d/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":"7d9c9e7682290abb1ff09af68cbad97c"} device-1 | {"level":"info","message":"POST /devices/8654cdcb-5dcb-4972-a604-e3898b82727d/websocket 200 25ms","method":"POST","requestID":"7d9c9e7682290abb1ff09af68cbad97c","responseTime":25,"status":200,"url":"/devices/8654cdcb-5dcb-4972-a604-e3898b82727d/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8654cdcb-5dcb-4972-a604-e3898b82727d' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4M30.VEmwG7qH9BWXpR2CHCy8MOOA1X4CvwLdiBRPQaJe0fE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"81d3aa3684f95c25b0f0e3ec8a2c387d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:43Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.205168,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8160ae72-6403-4428-badb-0440bdd144e4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/8160ae72-6403-4428-badb-0440bdd144e4","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445683,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4M30.VEmwG7qH9BWXpR2CHCy8MOOA1X4CvwLdiBRPQaJe0fE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"81d3aa3684f95c25b0f0e3ec8a2c387d"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8160ae72-6403-4428-badb-0440bdd144e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8160ae72-6403-4428-badb-0440bdd144e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:41.172622685Z"}]},"request_id":"8bc65399-77d2-45d8-9ca7-2c6370a41436","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445683.3368235} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"81d3aa3684f95c25b0f0e3ec8a2c387d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8160ae72-6403-4428-badb-0440bdd144e4? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"81d3aa3684f95c25b0f0e3ec8a2c387d"} device-1 | {"level":"info","message":"GET /devices/8160ae72-6403-4428-badb-0440bdd144e4? 200 20ms","method":"GET","requestID":"81d3aa3684f95c25b0f0e3ec8a2c387d","responseTime":20,"status":200,"url":"/devices/8160ae72-6403-4428-badb-0440bdd144e4?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4M30.VEmwG7qH9BWXpR2CHCy8MOOA1X4CvwLdiBRPQaJe0fE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4e054de0992adfee02afc923565ca06f","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:43Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.352184,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8654cdcb-5dcb-4972-a604-e3898b82727d","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/8654cdcb-5dcb-4972-a604-e3898b82727d","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445683,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4M30.VEmwG7qH9BWXpR2CHCy8MOOA1X4CvwLdiBRPQaJe0fE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4e054de0992adfee02afc923565ca06f"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8654cdcb-5dcb-4972-a604-e3898b82727d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8654cdcb-5dcb-4972-a604-e3898b82727d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:41.229413661Z"}]},"request_id":"f06382fd-c272-4b03-97f1-adef3206aeb1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445683.3663306} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4e054de0992adfee02afc923565ca06f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8654cdcb-5dcb-4972-a604-e3898b82727d? 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":"4e054de0992adfee02afc923565ca06f"} device-1 | {"level":"info","message":"GET /devices/8654cdcb-5dcb-4972-a604-e3898b82727d? 200 20ms","method":"GET","requestID":"4e054de0992adfee02afc923565ca06f","responseTime":20,"status":200,"url":"/devices/8654cdcb-5dcb-4972-a604-e3898b82727d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4M30.VEmwG7qH9BWXpR2CHCy8MOOA1X4CvwLdiBRPQaJe0fE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"05ca94e588bba1b65e6f39403af700ac","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:58630","level":"info","msg":"Received request.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:43Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.313465,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445683,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4M30.VEmwG7qH9BWXpR2CHCy8MOOA1X4CvwLdiBRPQaJe0fE"} 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":"05ca94e588bba1b65e6f39403af700ac"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dff9a015-0673-471e-9940-db9efb5f7b92"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dff9a015-0673-471e-9940-db9efb5f7b92"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dff9a015-0673-471e-9940-db9efb5f7b92"},"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:58630","level":"info","msg":"Received request.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:43Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.93477,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8160ae72-6403-4428-badb-0440bdd144e4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/8160ae72-6403-4428-badb-0440bdd144e4","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445683,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4M30.VEmwG7qH9BWXpR2CHCy8MOOA1X4CvwLdiBRPQaJe0fE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d5abf0e0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:58638","level":"info","msg":"Received request.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:43Z"} authorization-1 | {"client_addr":"127.0.0.1:58638","level":"info","msg":"Sent response.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.682432,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8654cdcb-5dcb-4972-a604-e3898b82727d","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/8654cdcb-5dcb-4972-a604-e3898b82727d","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445683,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4M30.VEmwG7qH9BWXpR2CHCy8MOOA1X4CvwLdiBRPQaJe0fE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d5ac3f00-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8160ae72-6403-4428-badb-0440bdd144e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8160ae72-6403-4428-badb-0440bdd144e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:41.172622685Z"}]},"request_id":"2e96aad0-0506-4b85-afa8-1f906fecb272","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445683.4485803} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d5abf0e0-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8654cdcb-5dcb-4972-a604-e3898b82727d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8654cdcb-5dcb-4972-a604-e3898b82727d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:41.229413661Z"}]},"request_id":"cb082ece-72cf-4893-9e60-df7bfcb16acd","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445683.4493358} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d5ac3f00-3d2e-11ef-b932-e1799b48160b"},"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/8160ae72-6403-4428-badb-0440bdd144e4? 200 18ms","method":"GET","requestID":"d5abf0e0-3d2e-11ef-b932-e1799b48160b","responseTime":18,"status":200,"url":"/devices/8160ae72-6403-4428-badb-0440bdd144e4?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/8654cdcb-5dcb-4972-a604-e3898b82727d? 200 17ms","method":"GET","requestID":"d5ac3f00-3d2e-11ef-b932-e1799b48160b","responseTime":17,"status":200,"url":"/devices/8654cdcb-5dcb-4972-a604-e3898b82727d?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dff9a015-0673-471e-9940-db9efb5f7b92"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dff9a015-0673-471e-9940-db9efb5f7b92"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dff9a015-0673-471e-9940-db9efb5f7b92"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dff9a015-0673-471e-9940-db9efb5f7b92"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dff9a015-0673-471e-9940-db9efb5f7b92"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dff9a015-0673-471e-9940-db9efb5f7b92"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dff9a015-0673-471e-9940-db9efb5f7b92"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dff9a015-0673-471e-9940-db9efb5f7b92"},"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/dff9a015-0673-471e-9940-db9efb5f7b92"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:43Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.980828,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8160ae72-6403-4428-badb-0440bdd144e4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/8160ae72-6403-4428-badb-0440bdd144e4","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445683,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4M30.VEmwG7qH9BWXpR2CHCy8MOOA1X4CvwLdiBRPQaJe0fE"} 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":"d5b8c220-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:58638","level":"info","msg":"Received request.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:43Z"} authorization-1 | {"client_addr":"127.0.0.1:58638","level":"info","msg":"Sent response.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.649517,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8654cdcb-5dcb-4972-a604-e3898b82727d","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/8654cdcb-5dcb-4972-a604-e3898b82727d","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445683,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4M30.VEmwG7qH9BWXpR2CHCy8MOOA1X4CvwLdiBRPQaJe0fE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d5b93750-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8160ae72-6403-4428-badb-0440bdd144e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8160ae72-6403-4428-badb-0440bdd144e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:41.172622685Z"}]},"request_id":"b6ba1b6d-c023-40f9-bb4e-b6ef37f0068b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445683.5367348} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8654cdcb-5dcb-4972-a604-e3898b82727d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8654cdcb-5dcb-4972-a604-e3898b82727d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:41.229413661Z"}]},"request_id":"0f3c32b4-1e21-4c1e-b4e2-d4b6817d1e4f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445683.5373914} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d5b8c220-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d5b93750-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8160ae72-6403-4428-badb-0440bdd144e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"33dde254-f98e-4a02-9b05-c4a49ad5b3f0","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445683.5395312} authorization-1 | {"client_addr":"127.0.0.1:36612","level":"info","msg":"Received request.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36612","level":"info","msg":"Sent response.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.452081,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8160ae72-6403-4428-badb-0440bdd144e4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8160ae72-6403-4428-badb-0440bdd144e4","object_type":"device","rebac_allow":false,"scope_allow":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":"d5b95e60-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/8160ae72-6403-4428-badb-0440bdd144e4? 200 22ms","method":"GET","requestID":"d5b8c220-3d2e-11ef-b932-e1799b48160b","responseTime":22,"status":200,"url":"/devices/8160ae72-6403-4428-badb-0440bdd144e4?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/8654cdcb-5dcb-4972-a604-e3898b82727d? 200 20ms","method":"GET","requestID":"d5b93750-3d2e-11ef-b932-e1799b48160b","responseTime":20,"status":200,"url":"/devices/8654cdcb-5dcb-4972-a604-e3898b82727d?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/8160ae72-6403-4428-badb-0440bdd144e4/signaling 200 21ms","method":"POST","requestID":"d5b95e60-3d2e-11ef-b932-e1799b48160b","responseTime":21,"status":200,"url":"/devices/8160ae72-6403-4428-badb-0440bdd144e4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdff9a015-0673-471e-9940-db9efb5f7b92#owner@http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdff9a015-0673-471e-9940-db9efb5f7b92","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"eb6c9744-9595-45fc-8391-4d1ab0b741b4","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445683.5508804} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a247f86b-383b-4f93-b723-b66011bcbd38","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445683.5511117} 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":"05ca94e588bba1b65e6f39403af700ac"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8160ae72-6403-4428-badb-0440bdd144e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3300eccb-4365-489b-ab3b-24ce53e14dde","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445683.5537083} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:43Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.221273,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8160ae72-6403-4428-badb-0440bdd144e4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8160ae72-6403-4428-badb-0440bdd144e4","object_type":"device","rebac_allow":false,"scope_allow":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":"d5bcb9c0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8654cdcb-5dcb-4972-a604-e3898b82727d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"da040183-eb18-4cba-881a-9cd73a45f6bd","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445683.5585945} authorization-1 | {"client_addr":"127.0.0.1:58638","level":"info","msg":"Received request.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:43Z"} authorization-1 | {"client_addr":"127.0.0.1:58638","level":"info","msg":"Sent response.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.45135,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8654cdcb-5dcb-4972-a604-e3898b82727d","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8654cdcb-5dcb-4972-a604-e3898b82727d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/8160ae72-6403-4428-badb-0440bdd144e4/signaling 200 13ms","method":"POST","requestID":"d5bcb9c0-3d2e-11ef-b932-e1799b48160b","responseTime":13,"status":200,"url":"/devices/8160ae72-6403-4428-badb-0440bdd144e4/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d5bd2ef0-3d2e-11ef-b932-e1799b48160b"},"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/8654cdcb-5dcb-4972-a604-e3898b82727d/signaling 200 13ms","method":"POST","requestID":"d5bd2ef0-3d2e-11ef-b932-e1799b48160b","responseTime":13,"status":200,"url":"/devices/8654cdcb-5dcb-4972-a604-e3898b82727d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/dff9a015-0673-471e-9940-db9efb5f7b92","user":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/Jul/2024:13:34:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.190","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"05ca94e588bba1b65e6f39403af700ac"} experiment-1 | {"level":"info","message":"POST /experiments? 201 182ms","method":"POST","requestID":"05ca94e588bba1b65e6f39403af700ac","responseTime":182,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:43Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8654cdcb-5dcb-4972-a604-e3898b82727d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3f056bb1-e49b-4af4-9659-22a872b36ea2","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445683.5704775} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.923597,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8654cdcb-5dcb-4972-a604-e3898b82727d","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8654cdcb-5dcb-4972-a604-e3898b82727d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d5bf51d0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4M30.VEmwG7qH9BWXpR2CHCy8MOOA1X4CvwLdiBRPQaJe0fE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8d43a5bf967b5f8e7ac8d822701cff21","responseTime":5,"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/8654cdcb-5dcb-4972-a604-e3898b82727d/signaling 200 12ms","method":"POST","requestID":"d5bf51d0-3d2e-11ef-b932-e1799b48160b","responseTime":12,"status":200,"url":"/devices/8654cdcb-5dcb-4972-a604-e3898b82727d/signaling"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:43Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.89789,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:43Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dff9a015-0673-471e-9940-db9efb5f7b92"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dff9a015-0673-471e-9940-db9efb5f7b92"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"78510f0f-40f0-49a9-9faa-6235b6846b5f"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"04bdb71e-65ce-4e10-8515-a4f4d682d87a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"730aa370-e43f-4eac-9d2d-be52d075b5b5"}]},"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/8160ae72-6403-4428-badb-0440bdd144e4"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/8654cdcb-5dcb-4972-a604-e3898b82727d"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8160ae72-6403-4428-badb-0440bdd144e4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/8160ae72-6403-4428-badb-0440bdd144e4","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445683,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4M30.VEmwG7qH9BWXpR2CHCy8MOOA1X4CvwLdiBRPQaJe0fE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8d43a5bf967b5f8e7ac8d822701cff21"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:43Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.648114,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445683,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4M30.VEmwG7qH9BWXpR2CHCy8MOOA1X4CvwLdiBRPQaJe0fE"} 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":"d5c19bc0-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8160ae72-6403-4428-badb-0440bdd144e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8160ae72-6403-4428-badb-0440bdd144e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:41.172622685Z"}]},"request_id":"df1c3075-be37-4ed6-b3fe-fd01f788c288","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445683.5849435} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8d43a5bf967b5f8e7ac8d822701cff21"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8160ae72-6403-4428-badb-0440bdd144e4? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8d43a5bf967b5f8e7ac8d822701cff21"} device-1 | {"level":"info","message":"GET /devices/8160ae72-6403-4428-badb-0440bdd144e4? 200 16ms","method":"GET","requestID":"8d43a5bf967b5f8e7ac8d822701cff21","responseTime":16,"status":200,"url":"/devices/8160ae72-6403-4428-badb-0440bdd144e4?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4M30.VEmwG7qH9BWXpR2CHCy8MOOA1X4CvwLdiBRPQaJe0fE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fd02d1b02028f5e16c0943405994a4f4","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","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%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"4f31444d-d8f2-469b-a06f-1c55bf95936e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445683.5967593} device-1 | {"level":"info","message":"getDevicesByDeviceId 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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"24fc7789-714a-4e52-8bc0-870a0affe72d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445683.5969927} 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":"d5c19bc0-3d2e-11ef-b932-e1799b48160b"},"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:58630","level":"info","msg":"Received request.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:43Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.373916,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8654cdcb-5dcb-4972-a604-e3898b82727d","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/8654cdcb-5dcb-4972-a604-e3898b82727d","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445683,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4M30.VEmwG7qH9BWXpR2CHCy8MOOA1X4CvwLdiBRPQaJe0fE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fd02d1b02028f5e16c0943405994a4f4"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8654cdcb-5dcb-4972-a604-e3898b82727d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8654cdcb-5dcb-4972-a604-e3898b82727d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:41.229413661Z"}]},"request_id":"273a2c66-117f-4fce-a61f-95c7060a76cd","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445683.6068382} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fd02d1b02028f5e16c0943405994a4f4"},"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/0346a99f-935c-4ef2-a7bb-f9d76c439794'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0346a99f-935c-4ef2-a7bb-f9d76c439794'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 33ms","method":"POST","requestID":"d5c19bc0-3d2e-11ef-b932-e1799b48160b","responseTime":33,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8654cdcb-5dcb-4972-a604-e3898b82727d? 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":"fd02d1b02028f5e16c0943405994a4f4"} device-1 | {"level":"info","message":"GET /devices/8654cdcb-5dcb-4972-a604-e3898b82727d? 200 18ms","method":"GET","requestID":"fd02d1b02028f5e16c0943405994a4f4","responseTime":18,"status":200,"url":"/devices/8654cdcb-5dcb-4972-a604-e3898b82727d?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dff9a015-0673-471e-9940-db9efb5f7b92"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:43Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8160ae72-6403-4428-badb-0440bdd144e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1edeab49-758c-4918-ab03-47d6252fbdfa","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445683.6469438} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.339202,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8160ae72-6403-4428-badb-0440bdd144e4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8160ae72-6403-4428-badb-0440bdd144e4","object_type":"device","rebac_allow":false,"scope_allow":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":"d5cb11a0-3d2e-11ef-b932-e1799b48160b"},"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/8160ae72-6403-4428-badb-0440bdd144e4/signaling 200 9ms","method":"POST","requestID":"d5cb11a0-3d2e-11ef-b932-e1799b48160b","responseTime":9,"status":200,"url":"/devices/8160ae72-6403-4428-badb-0440bdd144e4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:43Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8654cdcb-5dcb-4972-a604-e3898b82727d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"105b3847-eaf9-4df9-8171-28c6151df206","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445683.657581} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.326726,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8654cdcb-5dcb-4972-a604-e3898b82727d","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8654cdcb-5dcb-4972-a604-e3898b82727d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d5ccbf50-3d2e-11ef-b932-e1799b48160b"},"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/8654cdcb-5dcb-4972-a604-e3898b82727d/signaling 200 8ms","method":"POST","requestID":"d5ccbf50-3d2e-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/devices/8654cdcb-5dcb-4972-a604-e3898b82727d/signaling"} device-1 | {"data":{"peerconnection":"0346a99f-935c-4ef2-a7bb-f9d76c439794","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/0346a99f-935c-4ef2-a7bb-f9d76c439794' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0346a99f-935c-4ef2-a7bb-f9d76c439794","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a1aa920c1a435f736d2c4c9aad7af262","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/8160ae72-6403-4428-badb-0440bdd144e4"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/8654cdcb-5dcb-4972-a604-e3898b82727d"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/0346a99f-935c-4ef2-a7bb-f9d76c439794"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"a1aa920c1a435f736d2c4c9aad7af262","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:34:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch","requestID":"a1aa920c1a435f736d2c4c9aad7af262"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/8654cdcb-5dcb-4972-a604-e3898b82727d'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/8654cdcb-5dcb-4972-a604-e3898b82727d'"} device-1 | {"data":{"peerconnection":"0346a99f-935c-4ef2-a7bb-f9d76c439794","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"0346a99f-935c-4ef2-a7bb-f9d76c439794","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/0346a99f-935c-4ef2-a7bb-f9d76c439794' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0346a99f-935c-4ef2-a7bb-f9d76c439794","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1ede03acb2bb341811c9335f75b5ea7e","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/8160ae72-6403-4428-badb-0440bdd144e4"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8654cdcb-5dcb-4972-a604-e3898b82727d"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/0346a99f-935c-4ef2-a7bb-f9d76c439794"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:45Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0346a99f-935c-4ef2-a7bb-f9d76c439794","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"78c700d8-8763-4f98-a55d-9d020ed44a32","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445685.7385192} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.775935,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0346a99f-935c-4ef2-a7bb-f9d76c439794","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0346a99f-935c-4ef2-a7bb-f9d76c439794","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":"d709fa40-3d2e-11ef-b932-e1799b48160b"},"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/0346a99f-935c-4ef2-a7bb-f9d76c439794 200 11ms","method":"GET","requestID":"d709fa40-3d2e-11ef-b932-e1799b48160b","responseTime":11,"status":200,"url":"/peerconnections/0346a99f-935c-4ef2-a7bb-f9d76c439794"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 53ms","method":"POST","requestID":"1ede03acb2bb341811c9335f75b5ea7e","responseTime":53,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:34:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch","requestID":"1ede03acb2bb341811c9335f75b5ea7e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:45Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8160ae72-6403-4428-badb-0440bdd144e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7325aeb1-af5d-45c6-a808-cc34855cd1da","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445685.785388} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.870461,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8160ae72-6403-4428-badb-0440bdd144e4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8160ae72-6403-4428-badb-0440bdd144e4","object_type":"device","rebac_allow":false,"scope_allow":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":"d710ff20-3d2e-11ef-b932-e1799b48160b"},"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/8160ae72-6403-4428-badb-0440bdd144e4/signaling 200 15ms","method":"POST","requestID":"d710ff20-3d2e-11ef-b932-e1799b48160b","responseTime":15,"status":200,"url":"/devices/8160ae72-6403-4428-badb-0440bdd144e4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:45Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4NX0.LE91VkV-RBLgQ2uQwfcRTr7mM9tk2Hbgau8cB8CGX6w","level":"info","message":"auth send jwt"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8654cdcb-5dcb-4972-a604-e3898b82727d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f905dd3e-a2ea-4a2d-a2d6-b56f87de343e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445685.8047366} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"074d929d2df19eeb32c7764a3a734cb9","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.014139,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:45Z"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/dff9a015-0673-471e-9940-db9efb5f7b92"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8654cdcb-5dcb-4972-a604-e3898b82727d","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8654cdcb-5dcb-4972-a604-e3898b82727d","object_type":"device","rebac_allow":false,"scope_allow":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":"d713e550-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:45Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/8654cdcb-5dcb-4972-a604-e3898b82727d/signaling 200 16ms","method":"POST","requestID":"d713e550-3d2e-11ef-b932-e1799b48160b","responseTime":16,"status":200,"url":"/devices/8654cdcb-5dcb-4972-a604-e3898b82727d/signaling"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.247741,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/dff9a015-0673-471e-9940-db9efb5f7b92","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/dff9a015-0673-471e-9940-db9efb5f7b92","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445685,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4NX0.LE91VkV-RBLgQ2uQwfcRTr7mM9tk2Hbgau8cB8CGX6w"} 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":"074d929d2df19eeb32c7764a3a734cb9"},"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/dff9a015-0673-471e-9940-db9efb5f7b92"} gateway-1 | {"time_local":"08/Jul/2024:13:34:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/dff9a015-0673-471e-9940-db9efb5f7b92 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":"074d929d2df19eeb32c7764a3a734cb9"} experiment-1 | {"level":"info","message":"GET /experiments/dff9a015-0673-471e-9940-db9efb5f7b92 200 20ms","method":"GET","requestID":"074d929d2df19eeb32c7764a3a734cb9","responseTime":20,"status":200,"url":"/experiments/dff9a015-0673-471e-9940-db9efb5f7b92"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4NX0.LE91VkV-RBLgQ2uQwfcRTr7mM9tk2Hbgau8cB8CGX6w","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"d05a0ad48debea30103ab6242575f269","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/dff9a015-0673-471e-9940-db9efb5f7b92"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:45Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.680968,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:45Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/dff9a015-0673-471e-9940-db9efb5f7b92","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/dff9a015-0673-471e-9940-db9efb5f7b92","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445685,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4NX0.LE91VkV-RBLgQ2uQwfcRTr7mM9tk2Hbgau8cB8CGX6w"} 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":"d05a0ad48debea30103ab6242575f269"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dff9a015-0673-471e-9940-db9efb5f7b92"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:45Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.021229,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:45Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0346a99f-935c-4ef2-a7bb-f9d76c439794","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:http://localhost/peerconnections/0346a99f-935c-4ef2-a7bb-f9d76c439794","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445685,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4NX0.LE91VkV-RBLgQ2uQwfcRTr7mM9tk2Hbgau8cB8CGX6w"} 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":"d71d3420-3d2e-11ef-b932-e1799b48160b"},"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/0346a99f-935c-4ef2-a7bb-f9d76c439794' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0346a99f-935c-4ef2-a7bb-f9d76c439794' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0346a99f-935c-4ef2-a7bb-f9d76c439794","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0346a99f-935c-4ef2-a7bb-f9d76c439794': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0346a99f-935c-4ef2-a7bb-f9d76c439794","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"a3a8a23f-678c-4d14-aca5-acefcd174a8d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445685.8981879} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"454ff7e9-9ed1-409a-9022-244eed3b90de","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445685.898431} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"82b928e6d45f6cdebd3ee1571230381e","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 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":"d71d3420-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e3e898703902d86c019fd48b503c6783","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/8160ae72-6403-4428-badb-0440bdd144e4"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8654cdcb-5dcb-4972-a604-e3898b82727d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0346a99f-935c-4ef2-a7bb-f9d76c439794"}}},"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":"closed","url":"http://localhost/devices/8160ae72-6403-4428-badb-0440bdd144e4"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8654cdcb-5dcb-4972-a604-e3898b82727d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0346a99f-935c-4ef2-a7bb-f9d76c439794"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/0346a99f-935c-4ef2-a7bb-f9d76c439794 204 63ms","method":"DELETE","requestID":"d71d3420-3d2e-11ef-b932-e1799b48160b","responseTime":63,"status":204,"url":"/peerconnections/0346a99f-935c-4ef2-a7bb-f9d76c439794"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/8654cdcb-5dcb-4972-a604-e3898b82727d'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/dff9a015-0673-471e-9940-db9efb5f7b92"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:45Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8160ae72-6403-4428-badb-0440bdd144e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4f18b74a-62ad-4201-9bc4-1705a0743fa1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445685.9574678} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.859775,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8160ae72-6403-4428-badb-0440bdd144e4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8160ae72-6403-4428-badb-0440bdd144e4","object_type":"device","rebac_allow":false,"scope_allow":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":"d72b16d0-3d2e-11ef-b932-e1799b48160b"},"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/8160ae72-6403-4428-badb-0440bdd144e4/signaling 200 18ms","method":"POST","requestID":"d72b16d0-3d2e-11ef-b932-e1799b48160b","responseTime":18,"status":200,"url":"/devices/8160ae72-6403-4428-badb-0440bdd144e4/signaling"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdff9a015-0673-471e-9940-db9efb5f7b92': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fdff9a015-0673-471e-9940-db9efb5f7b92","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"724331ef-c5b0-4908-9572-0f7ce615225b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445685.9677048} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e4b64781-8eb3-47df-83dd-2ea1ddf0b2f8","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445685.9682465} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d05a0ad48debea30103ab6242575f269"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":24}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:45Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8654cdcb-5dcb-4972-a604-e3898b82727d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f43cf614-9105-4a1c-a7cd-5bce9983f4da","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445685.979524} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.589203,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8654cdcb-5dcb-4972-a604-e3898b82727d","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8654cdcb-5dcb-4972-a604-e3898b82727d","object_type":"device","rebac_allow":false,"scope_allow":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":"d72e7230-3d2e-11ef-b932-e1799b48160b"},"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/8654cdcb-5dcb-4972-a604-e3898b82727d/signaling 200 17ms","method":"POST","requestID":"d72e7230-3d2e-11ef-b932-e1799b48160b","responseTime":17,"status":200,"url":"/devices/8654cdcb-5dcb-4972-a604-e3898b82727d/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/dff9a015-0673-471e-9940-db9efb5f7b92"} gateway-1 | {"time_local":"08/Jul/2024:13:34:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/dff9a015-0673-471e-9940-db9efb5f7b92 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.215","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d05a0ad48debea30103ab6242575f269"} gateway-1 | {"time_local":"08/Jul/2024:13:34:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2990","request_time":"4.261","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"94a2760ec76a523de1acac3b2031e9d5"} experiment-1 | {"level":"info","message":"DELETE /experiments/dff9a015-0673-471e-9940-db9efb5f7b92 204 209ms","method":"DELETE","requestID":"d05a0ad48debea30103ab6242575f269","responseTime":209,"status":204,"url":"/experiments/dff9a015-0673-471e-9940-db9efb5f7b92"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 148ms","method":"POST","requestID":"82b928e6d45f6cdebd3ee1571230381e","responseTime":148,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:34:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.152","http_referrer":"","http_user_agent":"node-fetch","requestID":"82b928e6d45f6cdebd3ee1571230381e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 147ms","method":"POST","requestID":"e3e898703902d86c019fd48b503c6783","responseTime":147,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:34:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.152","http_referrer":"","http_user_agent":"node-fetch","requestID":"e3e898703902d86c019fd48b503c6783"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4Nn0.T31i9V1JiJUjeFnzFr5q5mCVUPgdtK1tyq8mmgyQcxg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d938a40b8d25ee80b7f7d8c426f59010","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:46Z"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.860614,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:46Z"} gateway-1 | {"time_local":"08/Jul/2024:13:34:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2501","request_time":"2.756","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4b39159511356de2e5abd7265f5d5578"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445686,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4Nn0.T31i9V1JiJUjeFnzFr5q5mCVUPgdtK1tyq8mmgyQcxg"} 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":"d938a40b8d25ee80b7f7d8c426f59010"},"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/8160ae72-6403-4428-badb-0440bdd144e4' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8654cdcb-5dcb-4972-a604-e3898b82727d' 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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf855986-1665-4d0a-b704-7827bd63b8a4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d80b5905-bfc6-4f12-9526-2b79392c2d2a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445686.0775113} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d938a40b8d25ee80b7f7d8c426f59010"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9398f780-aa74-44c1-bb93-e1ab67464196","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445686.0846925} 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":"d938a40b8d25ee80b7f7d8c426f59010"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf855986-1665-4d0a-b704-7827bd63b8a4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"a619eb6c-945c-42a7-b12b-42dbed73384b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445686.0952532} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fd760177-0360-4dd8-a6ce-e5a8c0ee35fc","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445686.0955155} 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":"d938a40b8d25ee80b7f7d8c426f59010"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf855986-1665-4d0a-b704-7827bd63b8a4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf855986-1665-4d0a-b704-7827bd63b8a4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:46.095237139Z"}]},"request_id":"1c359c62-0705-474e-bd30-eb850746db77","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445686.1003685} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d938a40b8d25ee80b7f7d8c426f59010"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d938a40b8d25ee80b7f7d8c426f59010"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"d938a40b8d25ee80b7f7d8c426f59010","responseTime":49,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4Nn0.T31i9V1JiJUjeFnzFr5q5mCVUPgdtK1tyq8mmgyQcxg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"873a2e1a61430b3b937e3a5e92f6b7f2","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:46Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.925834,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445686,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4Nn0.T31i9V1JiJUjeFnzFr5q5mCVUPgdtK1tyq8mmgyQcxg"} 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":"873a2e1a61430b3b937e3a5e92f6b7f2"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"715b1210-fc12-44b1-a00b-2d1de5909926","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445686.130904} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"873a2e1a61430b3b937e3a5e92f6b7f2"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"37efab59-9eb1-4d58-9272-3f26727091d4","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445686.1363456} 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":"873a2e1a61430b3b937e3a5e92f6b7f2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"52b95b59-eceb-4c61-9188-f72e1b688716","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445686.1485763} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fb025179-a06f-44d2-accb-4aa8956bc1e5","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445686.1487994} 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":"873a2e1a61430b3b937e3a5e92f6b7f2"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:46.148553801Z"}]},"request_id":"58531c04-72c4-44e6-b946-c7e75a2c0912","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445686.1551623} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"873a2e1a61430b3b937e3a5e92f6b7f2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"873a2e1a61430b3b937e3a5e92f6b7f2"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"873a2e1a61430b3b937e3a5e92f6b7f2","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4Nn0.T31i9V1JiJUjeFnzFr5q5mCVUPgdtK1tyq8mmgyQcxg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"25166e0700d21471aceb2e8c378af7d4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:46Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.741724,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:46Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4Nn0.T31i9V1JiJUjeFnzFr5q5mCVUPgdtK1tyq8mmgyQcxg","level":"info","message":"auth send jwt"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445686,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4Nn0.T31i9V1JiJUjeFnzFr5q5mCVUPgdtK1tyq8mmgyQcxg"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b00a38c79886b26cc8c03e127caf15c3","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"25166e0700d21471aceb2e8c378af7d4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:46Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.72701,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf855986-1665-4d0a-b704-7827bd63b8a4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/bf855986-1665-4d0a-b704-7827bd63b8a4","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445686,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4Nn0.T31i9V1JiJUjeFnzFr5q5mCVUPgdtK1tyq8mmgyQcxg"} 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":"b00a38c79886b26cc8c03e127caf15c3"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:46.148553801Z"}]},"request_id":"0f956f5b-5162-4327-aa41-451f8c65f7f5","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445686.6833324} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"25166e0700d21471aceb2e8c378af7d4"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf855986-1665-4d0a-b704-7827bd63b8a4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf855986-1665-4d0a-b704-7827bd63b8a4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:46.095237139Z"}]},"request_id":"2045fc11-747f-4af9-9183-7ae472a181dc","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445686.6852171} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b00a38c79886b26cc8c03e127caf15c3"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5cc59b41-9722-4984-b632-f83629136989","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445686.6917272} 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":"25166e0700d21471aceb2e8c378af7d4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8dc8e440-8e8d-4f5c-81a3-10692a201797","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445686.6943524} 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":"b00a38c79886b26cc8c03e127caf15c3"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf855986-1665-4d0a-b704-7827bd63b8a4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf855986-1665-4d0a-b704-7827bd63b8a4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:46.095237139Z"}]},"request_id":"849557fe-8d57-465e-8182-ae7ffebf7b07","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445686.7036793} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b00a38c79886b26cc8c03e127caf15c3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/bf855986-1665-4d0a-b704-7827bd63b8a4 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"b00a38c79886b26cc8c03e127caf15c3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4Nn0.T31i9V1JiJUjeFnzFr5q5mCVUPgdtK1tyq8mmgyQcxg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"31035461a8d490791ca1b278ea867691","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"PATCH /devices/bf855986-1665-4d0a-b704-7827bd63b8a4 200 35ms","method":"PATCH","requestID":"b00a38c79886b26cc8c03e127caf15c3","responseTime":35,"status":200,"url":"/devices/bf855986-1665-4d0a-b704-7827bd63b8a4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:46Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.685556,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf855986-1665-4d0a-b704-7827bd63b8a4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/bf855986-1665-4d0a-b704-7827bd63b8a4","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445686,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4Nn0.T31i9V1JiJUjeFnzFr5q5mCVUPgdtK1tyq8mmgyQcxg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"31035461a8d490791ca1b278ea867691"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:46.148553801Z"}]},"request_id":"07535a34-1e08-4d42-bffc-ef1a9aba05a8","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445686.8898137} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"25166e0700d21471aceb2e8c378af7d4"},"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/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826 200 226ms","method":"PATCH","requestID":"25166e0700d21471aceb2e8c378af7d4","responseTime":226,"status":200,"url":"/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826"} gateway-1 | {"time_local":"08/Jul/2024:13:34:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.231","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"25166e0700d21471aceb2e8c378af7d4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4Nn0.T31i9V1JiJUjeFnzFr5q5mCVUPgdtK1tyq8mmgyQcxg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"16031d40478caef37f1d0708190cbc04","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:46Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.761818,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445686,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4Nn0.T31i9V1JiJUjeFnzFr5q5mCVUPgdtK1tyq8mmgyQcxg"} 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":"16031d40478caef37f1d0708190cbc04"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/bf855986-1665-4d0a-b704-7827bd63b8a4/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.313","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"31035461a8d490791ca1b278ea867691"} device-1 | {"level":"info","message":"POST /devices/bf855986-1665-4d0a-b704-7827bd63b8a4/websocket 200 309ms","method":"POST","requestID":"31035461a8d490791ca1b278ea867691","responseTime":309,"status":200,"url":"/devices/bf855986-1665-4d0a-b704-7827bd63b8a4/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.258","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"16031d40478caef37f1d0708190cbc04"} device-1 | {"level":"info","message":"POST /devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826/websocket 200 252ms","method":"POST","requestID":"16031d40478caef37f1d0708190cbc04","responseTime":252,"status":200,"url":"/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/bf855986-1665-4d0a-b704-7827bd63b8a4' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4N30.qLIN_V7TzlFBjLpfTRYLyJL-rMkL8_CY5OIibQ_6s2k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"02bbaa8b9b83ba948e24174a8edc6b93","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:47Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.347712,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf855986-1665-4d0a-b704-7827bd63b8a4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/bf855986-1665-4d0a-b704-7827bd63b8a4","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445687,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4N30.qLIN_V7TzlFBjLpfTRYLyJL-rMkL8_CY5OIibQ_6s2k"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"02bbaa8b9b83ba948e24174a8edc6b93"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf855986-1665-4d0a-b704-7827bd63b8a4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf855986-1665-4d0a-b704-7827bd63b8a4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:46.095237139Z"}]},"request_id":"ce508a45-ee13-4917-96c8-51be61dcb6e7","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445687.3322256} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"02bbaa8b9b83ba948e24174a8edc6b93"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bf855986-1665-4d0a-b704-7827bd63b8a4? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"02bbaa8b9b83ba948e24174a8edc6b93"} device-1 | {"level":"info","message":"GET /devices/bf855986-1665-4d0a-b704-7827bd63b8a4? 200 22ms","method":"GET","requestID":"02bbaa8b9b83ba948e24174a8edc6b93","responseTime":22,"status":200,"url":"/devices/bf855986-1665-4d0a-b704-7827bd63b8a4?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4N30.qLIN_V7TzlFBjLpfTRYLyJL-rMkL8_CY5OIibQ_6s2k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"654cea27dcc372a9b82d977229073f9f","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:47Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.387042,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445687,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4N30.qLIN_V7TzlFBjLpfTRYLyJL-rMkL8_CY5OIibQ_6s2k"} 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":"654cea27dcc372a9b82d977229073f9f"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:46.148553801Z"}]},"request_id":"10030ad5-da13-40ff-951e-b960ac0ddfb9","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445687.3649807} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"654cea27dcc372a9b82d977229073f9f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"654cea27dcc372a9b82d977229073f9f"} device-1 | {"level":"info","message":"GET /devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826? 200 22ms","method":"GET","requestID":"654cea27dcc372a9b82d977229073f9f","responseTime":22,"status":200,"url":"/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4N30.qLIN_V7TzlFBjLpfTRYLyJL-rMkL8_CY5OIibQ_6s2k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a8739d3ccc7e494498dbfbac62f868eb","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:58630","level":"info","msg":"Received request.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:47Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.214055,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445687,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4N30.qLIN_V7TzlFBjLpfTRYLyJL-rMkL8_CY5OIibQ_6s2k"} 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":"a8739d3ccc7e494498dbfbac62f868eb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1a1b3f40-9e39-4385-8524-f6ab2e98119f"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1a1b3f40-9e39-4385-8524-f6ab2e98119f"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1a1b3f40-9e39-4385-8524-f6ab2e98119f"},"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:58630","level":"info","msg":"Received request.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:47Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.363817,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf855986-1665-4d0a-b704-7827bd63b8a4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/bf855986-1665-4d0a-b704-7827bd63b8a4","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445687,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4N30.qLIN_V7TzlFBjLpfTRYLyJL-rMkL8_CY5OIibQ_6s2k"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d8275120-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36626","level":"info","msg":"Received request.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:47Z"} authorization-1 | {"client_addr":"127.0.0.1:36626","level":"info","msg":"Sent response.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.309526,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445687,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4N30.qLIN_V7TzlFBjLpfTRYLyJL-rMkL8_CY5OIibQ_6s2k"} 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":"d8279f40-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf855986-1665-4d0a-b704-7827bd63b8a4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf855986-1665-4d0a-b704-7827bd63b8a4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:46.095237139Z"}]},"request_id":"36d6691f-f558-459c-b1e4-c9f3779850d9","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445687.6161592} 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":"d8275120-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:46.148553801Z"}]},"request_id":"00d99592-35d9-4f4f-9c65-bb4bcea1f0f4","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445687.6248455} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d8279f40-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"GET /devices/bf855986-1665-4d0a-b704-7827bd63b8a4? 200 25ms","method":"GET","requestID":"d8275120-3d2e-11ef-b932-e1799b48160b","responseTime":25,"status":200,"url":"/devices/bf855986-1665-4d0a-b704-7827bd63b8a4?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826? 200 28ms","method":"GET","requestID":"d8279f40-3d2e-11ef-b932-e1799b48160b","responseTime":28,"status":200,"url":"/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1a1b3f40-9e39-4385-8524-f6ab2e98119f"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1a1b3f40-9e39-4385-8524-f6ab2e98119f"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1a1b3f40-9e39-4385-8524-f6ab2e98119f"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1a1b3f40-9e39-4385-8524-f6ab2e98119f"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1a1b3f40-9e39-4385-8524-f6ab2e98119f"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1a1b3f40-9e39-4385-8524-f6ab2e98119f"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1a1b3f40-9e39-4385-8524-f6ab2e98119f"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1a1b3f40-9e39-4385-8524-f6ab2e98119f"},"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/1a1b3f40-9e39-4385-8524-f6ab2e98119f"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:47Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":3.145224,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:47Z"} authorization-1 | {"client_addr":"127.0.0.1:36626","level":"info","msg":"Received request.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf855986-1665-4d0a-b704-7827bd63b8a4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/bf855986-1665-4d0a-b704-7827bd63b8a4","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445687,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4N30.qLIN_V7TzlFBjLpfTRYLyJL-rMkL8_CY5OIibQ_6s2k"} 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":"d83f6d00-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:36626","level":"info","msg":"Sent response.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.094221,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445687,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4N30.qLIN_V7TzlFBjLpfTRYLyJL-rMkL8_CY5OIibQ_6s2k"} 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":"d83fe230-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:47Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.321461,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:47Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf855986-1665-4d0a-b704-7827bd63b8a4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7fbdaf4c-5c87-410a-a884-df81a60e4377","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445687.7794263} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf855986-1665-4d0a-b704-7827bd63b8a4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bf855986-1665-4d0a-b704-7827bd63b8a4","object_type":"device","rebac_allow":false,"scope_allow":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":"d8407e70-3d2e-11ef-b932-e1799b48160b"},"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/bf855986-1665-4d0a-b704-7827bd63b8a4/signaling 200 24ms","method":"POST","requestID":"d8407e70-3d2e-11ef-b932-e1799b48160b","responseTime":24,"status":200,"url":"/devices/bf855986-1665-4d0a-b704-7827bd63b8a4/signaling"} 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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:46.148553801Z"}]},"request_id":"8f868422-42b1-42a1-92c6-f74cf121046e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445687.7908971} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf855986-1665-4d0a-b704-7827bd63b8a4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf855986-1665-4d0a-b704-7827bd63b8a4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:46.095237139Z"}]},"request_id":"1b30e40c-440c-42b7-8b2a-2db3e9787cdb","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445687.7935658} 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":"d83fe230-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":11}} 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":"d83f6d00-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:47Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1a1b3f40-9e39-4385-8524-f6ab2e98119f#owner@http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1a1b3f40-9e39-4385-8524-f6ab2e98119f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"f3af5fbd-f156-4895-b583-a891b4a744dc","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445687.8064454} 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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7b8b7307-446b-4bcf-acd7-9e704468f6e1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445687.806862} device-1 | {"level":"info","message":"GET /devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826? 200 45ms","method":"GET","requestID":"d83fe230-3d2e-11ef-b932-e1799b48160b","responseTime":45,"status":200,"url":"/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"99ca3442-138d-49bd-864a-82dc68b4a506","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445687.8073997} device-1 | {"level":"info","message":"GET /devices/bf855986-1665-4d0a-b704-7827bd63b8a4? 200 49ms","method":"GET","requestID":"d83f6d00-3d2e-11ef-b932-e1799b48160b","responseTime":49,"status":200,"url":"/devices/bf855986-1665-4d0a-b704-7827bd63b8a4?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 33ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a8739d3ccc7e494498dbfbac62f868eb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":33}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.399876,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","object_type":"device","rebac_allow":false,"scope_allow":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":"d844c430-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:47Z"} device-1 | {"level":"info","message":"POST /devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826/signaling 200 23ms","method":"POST","requestID":"d844c430-3d2e-11ef-b932-e1799b48160b","responseTime":23,"status":200,"url":"/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826/signaling"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf855986-1665-4d0a-b704-7827bd63b8a4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4a95e190-73b2-4268-9fbe-f841a7434359","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445687.820489} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.393113,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf855986-1665-4d0a-b704-7827bd63b8a4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bf855986-1665-4d0a-b704-7827bd63b8a4","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/1a1b3f40-9e39-4385-8524-f6ab2e98119f","user":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"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":"d847aa60-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} gateway-1 | {"time_local":"08/Jul/2024:13:34:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"815","request_time":"0.446","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a8739d3ccc7e494498dbfbac62f868eb"} experiment-1 | {"level":"info","message":"POST /experiments? 201 439ms","method":"POST","requestID":"a8739d3ccc7e494498dbfbac62f868eb","responseTime":439,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/bf855986-1665-4d0a-b704-7827bd63b8a4/signaling 200 13ms","method":"POST","requestID":"d847aa60-3d2e-11ef-b932-e1799b48160b","responseTime":13,"status":200,"url":"/devices/bf855986-1665-4d0a-b704-7827bd63b8a4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4N30.qLIN_V7TzlFBjLpfTRYLyJL-rMkL8_CY5OIibQ_6s2k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2cc9756ecb04cba27368ca29930d59f2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:47Z"} authorization-1 | {"client_addr":"127.0.0.1:36626","level":"info","msg":"Received request.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:47Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7675cac3-cf9e-4c66-8048-3927bd50fd19","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445687.8364265} authorization-1 | {"client_addr":"127.0.0.1:36626","level":"info","msg":"Sent response.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.816055,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf855986-1665-4d0a-b704-7827bd63b8a4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/bf855986-1665-4d0a-b704-7827bd63b8a4","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445687,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4N30.qLIN_V7TzlFBjLpfTRYLyJL-rMkL8_CY5OIibQ_6s2k"} 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":"2cc9756ecb04cba27368ca29930d59f2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.66572,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","object_type":"device","rebac_allow":false,"scope_allow":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":"d84a1b60-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf855986-1665-4d0a-b704-7827bd63b8a4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf855986-1665-4d0a-b704-7827bd63b8a4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:46.095237139Z"}]},"request_id":"2c6c2953-296c-4b19-9efd-31c586c0b0b1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445687.8432286} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2cc9756ecb04cba27368ca29930d59f2"},"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/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826/signaling 200 17ms","method":"POST","requestID":"d84a1b60-3d2e-11ef-b932-e1799b48160b","responseTime":17,"status":200,"url":"/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1a1b3f40-9e39-4385-8524-f6ab2e98119f"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1a1b3f40-9e39-4385-8524-f6ab2e98119f"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"f1e453a8-af79-49a0-9e51-0f3c6c3fb23a"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"15bcd1e6-f91a-4384-aeed-4e9825e86df9"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"da7a75d6-8419-4279-8492-53a54bc8b34d"}]},"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/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/bf855986-1665-4d0a-b704-7827bd63b8a4"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bf855986-1665-4d0a-b704-7827bd63b8a4? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2cc9756ecb04cba27368ca29930d59f2"} device-1 | {"level":"info","message":"GET /devices/bf855986-1665-4d0a-b704-7827bd63b8a4? 200 18ms","method":"GET","requestID":"2cc9756ecb04cba27368ca29930d59f2","responseTime":18,"status":200,"url":"/devices/bf855986-1665-4d0a-b704-7827bd63b8a4?"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:47Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4N30.qLIN_V7TzlFBjLpfTRYLyJL-rMkL8_CY5OIibQ_6s2k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ee4d12d35c4e01b807286ba25a435897","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.415203,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:47Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445687,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4N30.qLIN_V7TzlFBjLpfTRYLyJL-rMkL8_CY5OIibQ_6s2k"} 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":"d84d4fb0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:47Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.869551,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445687,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY4N30.qLIN_V7TzlFBjLpfTRYLyJL-rMkL8_CY5OIibQ_6s2k"} 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":"ee4d12d35c4e01b807286ba25a435897"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","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%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"fba26997-52bd-482c-8573-70a5e5127746","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445687.8658645} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"10a7d6bc-1125-44d1-b793-c36c20ae6238","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445687.8659647} 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":"d84d4fb0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:46.148553801Z"}]},"request_id":"5e386fc5-6abc-4485-9a38-676d68b1568d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445687.8668199} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ee4d12d35c4e01b807286ba25a435897"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ee4d12d35c4e01b807286ba25a435897"} device-1 | {"level":"info","message":"GET /devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826? 200 25ms","method":"GET","requestID":"ee4d12d35c4e01b807286ba25a435897","responseTime":25,"status":200,"url":"/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826?"} 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/ab891a00-b146-4041-b55a-d718a5c6f04d'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/ab891a00-b146-4041-b55a-d718a5c6f04d'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 33ms","method":"POST","requestID":"d84d4fb0-3d2e-11ef-b932-e1799b48160b","responseTime":33,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1a1b3f40-9e39-4385-8524-f6ab2e98119f"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:47Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf855986-1665-4d0a-b704-7827bd63b8a4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b3be05e0-a05c-4c90-b5b7-0dfb712c21ac","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445687.9167123} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.652242,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf855986-1665-4d0a-b704-7827bd63b8a4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bf855986-1665-4d0a-b704-7827bd63b8a4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d8567770-3d2e-11ef-b932-e1799b48160b"},"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/bf855986-1665-4d0a-b704-7827bd63b8a4/signaling 200 10ms","method":"POST","requestID":"d8567770-3d2e-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/bf855986-1665-4d0a-b704-7827bd63b8a4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:47Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6c4d0823-8121-4bd9-b9bc-fd0a2999be9d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445687.9293182} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.447161,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d8584c30-3d2e-11ef-b932-e1799b48160b"},"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/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826/signaling 200 11ms","method":"POST","requestID":"d8584c30-3d2e-11ef-b932-e1799b48160b","responseTime":11,"status":200,"url":"/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826/signaling"} device-1 | {"data":{"peerconnection":"ab891a00-b146-4041-b55a-d718a5c6f04d","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"ab891a00-b146-4041-b55a-d718a5c6f04d","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/ab891a00-b146-4041-b55a-d718a5c6f04d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ab891a00-b146-4041-b55a-d718a5c6f04d","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"74decbe11d3a44ed9d8e5040fb31a57a","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/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/bf855986-1665-4d0a-b704-7827bd63b8a4"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/ab891a00-b146-4041-b55a-d718a5c6f04d"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"74decbe11d3a44ed9d8e5040fb31a57a","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:34:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch","requestID":"74decbe11d3a44ed9d8e5040fb31a57a"} device-1 | {"data":{"peerconnection":"ab891a00-b146-4041-b55a-d718a5c6f04d","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"ab891a00-b146-4041-b55a-d718a5c6f04d","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/ab891a00-b146-4041-b55a-d718a5c6f04d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ab891a00-b146-4041-b55a-d718a5c6f04d","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1daafd1c5b709bb8aae974bdd5527c3c","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/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bf855986-1665-4d0a-b704-7827bd63b8a4"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/ab891a00-b146-4041-b55a-d718a5c6f04d"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fab891a00-b146-4041-b55a-d718a5c6f04d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ed59efa6-3453-48b2-8df6-e7dc7c550612","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.0162096} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.454763,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ab891a00-b146-4041-b55a-d718a5c6f04d","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/ab891a00-b146-4041-b55a-d718a5c6f04d","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":"d9967180-3d2e-11ef-b932-e1799b48160b"},"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/ab891a00-b146-4041-b55a-d718a5c6f04d 200 15ms","method":"GET","requestID":"d9967180-3d2e-11ef-b932-e1799b48160b","responseTime":15,"status":200,"url":"/peerconnections/ab891a00-b146-4041-b55a-d718a5c6f04d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 50ms","method":"POST","requestID":"1daafd1c5b709bb8aae974bdd5527c3c","responseTime":50,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:34:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch","requestID":"1daafd1c5b709bb8aae974bdd5527c3c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0e003074-88e6-4ec1-9b60-ad4629cd43bb","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.057414} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.192704,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","object_type":"device","rebac_allow":false,"scope_allow":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":"d99cb310-3d2e-11ef-b932-e1799b48160b"},"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/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826/signaling 200 16ms","method":"POST","requestID":"d99cb310-3d2e-11ef-b932-e1799b48160b","responseTime":16,"status":200,"url":"/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf855986-1665-4d0a-b704-7827bd63b8a4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4451cdd0-8f34-402c-b776-8cb67a116d38","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.0761425} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.674206,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf855986-1665-4d0a-b704-7827bd63b8a4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bf855986-1665-4d0a-b704-7827bd63b8a4","object_type":"device","rebac_allow":false,"scope_allow":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":"d99fc050-3d2e-11ef-b932-e1799b48160b"},"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/bf855986-1665-4d0a-b704-7827bd63b8a4/signaling 200 13ms","method":"POST","requestID":"d99fc050-3d2e-11ef-b932-e1799b48160b","responseTime":13,"status":200,"url":"/devices/bf855986-1665-4d0a-b704-7827bd63b8a4/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MH0.RXKFX57vTyia3md6QEzAO85EEovM6jOpsN9P8XJkKY8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b480526b2b1b2a21977fef33acdd462c","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/1a1b3f40-9e39-4385-8524-f6ab2e98119f"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.841865,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1a1b3f40-9e39-4385-8524-f6ab2e98119f","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/1a1b3f40-9e39-4385-8524-f6ab2e98119f","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445690,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MH0.RXKFX57vTyia3md6QEzAO85EEovM6jOpsN9P8XJkKY8"} 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":"b480526b2b1b2a21977fef33acdd462c"},"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/1a1b3f40-9e39-4385-8524-f6ab2e98119f"} gateway-1 | {"time_local":"08/Jul/2024:13:34:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/1a1b3f40-9e39-4385-8524-f6ab2e98119f 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":"b480526b2b1b2a21977fef33acdd462c"} experiment-1 | {"level":"info","message":"GET /experiments/1a1b3f40-9e39-4385-8524-f6ab2e98119f 200 16ms","method":"GET","requestID":"b480526b2b1b2a21977fef33acdd462c","responseTime":16,"status":200,"url":"/experiments/1a1b3f40-9e39-4385-8524-f6ab2e98119f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MH0.RXKFX57vTyia3md6QEzAO85EEovM6jOpsN9P8XJkKY8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cd9523004fa343308793545c3554aca3","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/1a1b3f40-9e39-4385-8524-f6ab2e98119f"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.15846,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1a1b3f40-9e39-4385-8524-f6ab2e98119f","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/1a1b3f40-9e39-4385-8524-f6ab2e98119f","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445690,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MH0.RXKFX57vTyia3md6QEzAO85EEovM6jOpsN9P8XJkKY8"} 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":"cd9523004fa343308793545c3554aca3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1a1b3f40-9e39-4385-8524-f6ab2e98119f"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.424464,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ab891a00-b146-4041-b55a-d718a5c6f04d","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:http://localhost/peerconnections/ab891a00-b146-4041-b55a-d718a5c6f04d","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445690,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MH0.RXKFX57vTyia3md6QEzAO85EEovM6jOpsN9P8XJkKY8"} 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":"d9a872e0-3d2e-11ef-b932-e1799b48160b"},"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/ab891a00-b146-4041-b55a-d718a5c6f04d' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/ab891a00-b146-4041-b55a-d718a5c6f04d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ab891a00-b146-4041-b55a-d718a5c6f04d","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7fd1b61fb06a08b56d66ad7ebff03e14","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fab891a00-b146-4041-b55a-d718a5c6f04d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fab891a00-b146-4041-b55a-d718a5c6f04d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"aa03f600-30e0-4730-a459-d5c2e4219b28","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.1577077} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bf855986-1665-4d0a-b704-7827bd63b8a4"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ab891a00-b146-4041-b55a-d718a5c6f04d"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"21af190122e28e526735eff9e9530560","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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8e3f7229-a6dd-4c8d-bcc2-828c0083b3a5","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.158318} 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/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bf855986-1665-4d0a-b704-7827bd63b8a4"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ab891a00-b146-4041-b55a-d718a5c6f04d"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d9a872e0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"data":{"peerconnection":"ab891a00-b146-4041-b55a-d718a5c6f04d","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/ab891a00-b146-4041-b55a-d718a5c6f04d 204 52ms","method":"DELETE","requestID":"d9a872e0-3d2e-11ef-b932-e1799b48160b","responseTime":52,"status":204,"url":"/peerconnections/ab891a00-b146-4041-b55a-d718a5c6f04d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1a1b3f40-9e39-4385-8524-f6ab2e98119f"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"57a5b7f3-c37f-44ad-a857-08141ad09fe9","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.2168355} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.285245,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826","object_type":"device","rebac_allow":false,"scope_allow":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":"d9b54420-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1a1b3f40-9e39-4385-8524-f6ab2e98119f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1a1b3f40-9e39-4385-8524-f6ab2e98119f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"a35e9fb7-0020-48ec-9c1c-8eecc80e4dd8","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.2231596} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e476d1ba-fd21-4a81-b16e-c72fb7ff9077","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.2235527} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826/signaling 200 14ms","method":"POST","requestID":"d9b54420-3d2e-11ef-b932-e1799b48160b","responseTime":14,"status":200,"url":"/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cd9523004fa343308793545c3554aca3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf855986-1665-4d0a-b704-7827bd63b8a4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3d5babb8-0bc3-4021-8f6f-c4fb03cb4bdd","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.2366385} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.653188,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf855986-1665-4d0a-b704-7827bd63b8a4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bf855986-1665-4d0a-b704-7827bd63b8a4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d9b87870-3d2e-11ef-b932-e1799b48160b"},"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/bf855986-1665-4d0a-b704-7827bd63b8a4/signaling 200 11ms","method":"POST","requestID":"d9b87870-3d2e-11ef-b932-e1799b48160b","responseTime":11,"status":200,"url":"/devices/bf855986-1665-4d0a-b704-7827bd63b8a4/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/1a1b3f40-9e39-4385-8524-f6ab2e98119f"} gateway-1 | {"time_local":"08/Jul/2024:13:34:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/1a1b3f40-9e39-4385-8524-f6ab2e98119f 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":"cd9523004fa343308793545c3554aca3"} gateway-1 | {"time_local":"08/Jul/2024:13:34:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"3.269","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"b72b72617c06f802eb2c2c7d274a2afa"} gateway-1 | {"time_local":"08/Jul/2024:13:34:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"3.139","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"231159050159994bf6044066536516d4"} experiment-1 | {"level":"info","message":"DELETE /experiments/1a1b3f40-9e39-4385-8524-f6ab2e98119f 204 183ms","method":"DELETE","requestID":"cd9523004fa343308793545c3554aca3","responseTime":183,"status":204,"url":"/experiments/1a1b3f40-9e39-4385-8524-f6ab2e98119f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 140ms","method":"POST","requestID":"7fd1b61fb06a08b56d66ad7ebff03e14","responseTime":140,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MH0.RXKFX57vTyia3md6QEzAO85EEovM6jOpsN9P8XJkKY8","level":"info","message":"auth send jwt"} gateway-1 | {"time_local":"08/Jul/2024:13:34:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.145","http_referrer":"","http_user_agent":"node-fetch","requestID":"7fd1b61fb06a08b56d66ad7ebff03e14"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"000f4c8fd6fa761ca5760df7755bd9cb","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 138ms","method":"POST","requestID":"21af190122e28e526735eff9e9530560","responseTime":138,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:34:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.147","http_referrer":"","http_user_agent":"node-fetch","requestID":"21af190122e28e526735eff9e9530560"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/28b6f27d-8bd5-47c0-a8bf-5680fc0cf826' closed"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.625722,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445690,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MH0.RXKFX57vTyia3md6QEzAO85EEovM6jOpsN9P8XJkKY8"} 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":"000f4c8fd6fa761ca5760df7755bd9cb"},"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/bf855986-1665-4d0a-b704-7827bd63b8a4' 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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75e4ee7c-b070-4937-b012-262cf2c2bda8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"47979c10-bc80-4de5-bc07-d50d66f68b70","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.3246017} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"000f4c8fd6fa761ca5760df7755bd9cb"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9201b3ce-6ef5-4b52-9735-853a5d7d8a99","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.3311143} 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":"000f4c8fd6fa761ca5760df7755bd9cb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75e4ee7c-b070-4937-b012-262cf2c2bda8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"72a02dbb-348f-4f79-b93f-7d5bd8c67a3d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.3435454} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"543bcacb-9272-49cd-93d2-e414e14e066f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.3440013} 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":"000f4c8fd6fa761ca5760df7755bd9cb"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75e4ee7c-b070-4937-b012-262cf2c2bda8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75e4ee7c-b070-4937-b012-262cf2c2bda8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:50.343527618Z"}]},"request_id":"63e60dfa-0485-44d1-bb0a-40f4954dbc75","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.3490193} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"000f4c8fd6fa761ca5760df7755bd9cb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:50 +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":"000f4c8fd6fa761ca5760df7755bd9cb"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"000f4c8fd6fa761ca5760df7755bd9cb","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MH0.RXKFX57vTyia3md6QEzAO85EEovM6jOpsN9P8XJkKY8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9ce82196e2d1c0e0d9163af86dd4ad4b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.935259,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445690,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MH0.RXKFX57vTyia3md6QEzAO85EEovM6jOpsN9P8XJkKY8"} 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":"9ce82196e2d1c0e0d9163af86dd4ad4b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdbe36097-f32b-400c-bc88-51a12c3d96cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9c91bf1f-32a1-47e0-87f7-e2d1e55fc320","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.3764622} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9ce82196e2d1c0e0d9163af86dd4ad4b"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1de718c0-b4f5-42b5-a1aa-466853bbe1b2","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.381765} 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":"9ce82196e2d1c0e0d9163af86dd4ad4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdbe36097-f32b-400c-bc88-51a12c3d96cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"8a44d88c-3a0f-4b89-9286-e0c52582bb56","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.3981059} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"750cca3c-c806-46d1-a80a-20dc7b8708c8","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.3982909} 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":"9ce82196e2d1c0e0d9163af86dd4ad4b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdbe36097-f32b-400c-bc88-51a12c3d96cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdbe36097-f32b-400c-bc88-51a12c3d96cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:50.398092394Z"}]},"request_id":"daeadcdb-f3b6-4186-88f6-666f2c380f05","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.4035835} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9ce82196e2d1c0e0d9163af86dd4ad4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:50 +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":"9ce82196e2d1c0e0d9163af86dd4ad4b"} device-1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"9ce82196e2d1c0e0d9163af86dd4ad4b","responseTime":50,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MH0.RXKFX57vTyia3md6QEzAO85EEovM6jOpsN9P8XJkKY8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ea898f4825f5e59eaecb7c7ab79476ba","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.889014,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445690,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MH0.RXKFX57vTyia3md6QEzAO85EEovM6jOpsN9P8XJkKY8"} 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":"ea898f4825f5e59eaecb7c7ab79476ba"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6e75a6c2-b062-4c91-a5f5-86bf651e7340","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2090aa24-d9f3-457d-ae09-6b12cc68c187","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.433016} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea898f4825f5e59eaecb7c7ab79476ba"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ef6aa882-711c-4806-9729-1494326f069a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.4388752} 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":"ea898f4825f5e59eaecb7c7ab79476ba"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6e75a6c2-b062-4c91-a5f5-86bf651e7340","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"0a2d4c49-e1c3-40fb-b128-3b504adaf48f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.4494} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"645e71b4-0075-4bc2-a681-01c2117b5aa4","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.4497824} 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":"ea898f4825f5e59eaecb7c7ab79476ba"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6e75a6c2-b062-4c91-a5f5-86bf651e7340","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6e75a6c2-b062-4c91-a5f5-86bf651e7340","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:50.449379417Z"}]},"request_id":"98e9c122-8fd6-4783-ad48-705958de903f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.4545417} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea898f4825f5e59eaecb7c7ab79476ba"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:50 +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":"ea898f4825f5e59eaecb7c7ab79476ba"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"ea898f4825f5e59eaecb7c7ab79476ba","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MH0.RXKFX57vTyia3md6QEzAO85EEovM6jOpsN9P8XJkKY8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8529c4250b5fcceba8dbd96f20d8559d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.091356,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445690,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MH0.RXKFX57vTyia3md6QEzAO85EEovM6jOpsN9P8XJkKY8"} 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":"8529c4250b5fcceba8dbd96f20d8559d"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c6fee74-505f-43c3-8df7-2e362e9da122","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"201185ae-0b44-44d0-bfac-18c0d90b4c0f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.4824193} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8529c4250b5fcceba8dbd96f20d8559d"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"63e96569-878e-42a8-875e-10f3ea3b420c","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.489248} 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":"8529c4250b5fcceba8dbd96f20d8559d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c6fee74-505f-43c3-8df7-2e362e9da122","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"4b78c76e-a603-4050-8bdc-6fd5b97aa9da","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.5063813} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8bb7e464-3a15-49c9-b885-25882a58d05d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.5065694} 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":"8529c4250b5fcceba8dbd96f20d8559d"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c6fee74-505f-43c3-8df7-2e362e9da122","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5c6fee74-505f-43c3-8df7-2e362e9da122","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:50.506361137Z"}]},"request_id":"11d17aa9-d591-4f98-9736-754a5a00a54f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.5116925} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8529c4250b5fcceba8dbd96f20d8559d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8529c4250b5fcceba8dbd96f20d8559d"} device-1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"8529c4250b5fcceba8dbd96f20d8559d","responseTime":50,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MH0.RXKFX57vTyia3md6QEzAO85EEovM6jOpsN9P8XJkKY8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"39b323b9ae51e0f621c4b8a772cf5a7c","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.871018,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445690,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MH0.RXKFX57vTyia3md6QEzAO85EEovM6jOpsN9P8XJkKY8"} 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":"39b323b9ae51e0f621c4b8a772cf5a7c"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64b68cf4-d7c2-4841-aeee-3db0fe7b2a1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"cfe5df41-4013-4de8-8e25-9daf6a050f6d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.547114} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"39b323b9ae51e0f621c4b8a772cf5a7c"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d3ca0297-a900-48fa-9b59-ba6a4cbcff4b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.5556924} 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":"39b323b9ae51e0f621c4b8a772cf5a7c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64b68cf4-d7c2-4841-aeee-3db0fe7b2a1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"230f8f66-6d03-41e8-b91f-c44043daad12","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.5693977} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"49d2de3f-a6ef-426b-a4bf-23ea3861b12e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.5698757} 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":"39b323b9ae51e0f621c4b8a772cf5a7c"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64b68cf4-d7c2-4841-aeee-3db0fe7b2a1d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F64b68cf4-d7c2-4841-aeee-3db0fe7b2a1d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:50.569368686Z"}]},"request_id":"c1169bab-eebf-4c2e-ac19-1e687f6eddca","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.5774083} 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":"39b323b9ae51e0f621c4b8a772cf5a7c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"39b323b9ae51e0f621c4b8a772cf5a7c"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"39b323b9ae51e0f621c4b8a772cf5a7c","responseTime":58,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MH0.RXKFX57vTyia3md6QEzAO85EEovM6jOpsN9P8XJkKY8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e36f0e1dcaa27b3e696df312d9e9035a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.327553,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445690,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MH0.RXKFX57vTyia3md6QEzAO85EEovM6jOpsN9P8XJkKY8"} 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":"e36f0e1dcaa27b3e696df312d9e9035a"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcc26ab7-c261-49e4-b4b6-916c4ea6c7e9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5219bf0b-bd4e-4cc9-a364-f1833db545c3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.6142814} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e36f0e1dcaa27b3e696df312d9e9035a"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"db62d39f-8134-44f1-ba59-31827ddbb230","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.6221411} 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":"e36f0e1dcaa27b3e696df312d9e9035a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcc26ab7-c261-49e4-b4b6-916c4ea6c7e9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"6d62b408-171a-44ee-ad82-70a27219c800","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.6414306} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d28fa2e0-6225-446e-9c38-617f425b08db","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.6415324} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e36f0e1dcaa27b3e696df312d9e9035a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":23}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcc26ab7-c261-49e4-b4b6-916c4ea6c7e9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffcc26ab7-c261-49e4-b4b6-916c4ea6c7e9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:50.641408327Z"}]},"request_id":"b76b5b9f-5487-4982-8059-cd7ba9b44700","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.6489828} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e36f0e1dcaa27b3e696df312d9e9035a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.068","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e36f0e1dcaa27b3e696df312d9e9035a"} device-1 | {"level":"info","message":"POST /devices? 201 61ms","method":"POST","requestID":"e36f0e1dcaa27b3e696df312d9e9035a","responseTime":61,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MH0.RXKFX57vTyia3md6QEzAO85EEovM6jOpsN9P8XJkKY8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"16d01100e0cabc2c0521cfb48d5f03ef","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.73292,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445690,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MH0.RXKFX57vTyia3md6QEzAO85EEovM6jOpsN9P8XJkKY8"} 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":"16d01100e0cabc2c0521cfb48d5f03ef"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2890c854-4ea3-4cb7-8b97-b3d9a8043d62","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9e1c33b4-342c-4429-87fd-373d15470831","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.6822658} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"16d01100e0cabc2c0521cfb48d5f03ef"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"96d4ab51-42d6-4645-b049-3849af442052","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.689385} 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":"16d01100e0cabc2c0521cfb48d5f03ef"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2890c854-4ea3-4cb7-8b97-b3d9a8043d62","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"18d62c38-d6be-4abb-ac8e-c3cbc1e82fd3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.7054434} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"45115b87-4afd-45d1-9eb5-23e59f0a7f51","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.7057855} 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":"16d01100e0cabc2c0521cfb48d5f03ef"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2890c854-4ea3-4cb7-8b97-b3d9a8043d62","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2890c854-4ea3-4cb7-8b97-b3d9a8043d62","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:50.705424367Z"}]},"request_id":"b30a324a-dce4-4d4f-9c20-2d5ce5648fb9","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.7110963} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"16d01100e0cabc2c0521cfb48d5f03ef"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:50 +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":"16d01100e0cabc2c0521cfb48d5f03ef"} device-1 | {"level":"info","message":"POST /devices? 201 52ms","method":"POST","requestID":"16d01100e0cabc2c0521cfb48d5f03ef","responseTime":52,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MH0.RXKFX57vTyia3md6QEzAO85EEovM6jOpsN9P8XJkKY8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1d1825837699600e32979fb62ce3b783","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.802838,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445690,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MH0.RXKFX57vTyia3md6QEzAO85EEovM6jOpsN9P8XJkKY8"} 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":"1d1825837699600e32979fb62ce3b783"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddb55d78-210a-46af-9141-2a57886adb46","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d9163415-4043-4686-a2e9-46b05b862da0","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.74035} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1d1825837699600e32979fb62ce3b783"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6ab1318c-6232-48b0-b460-a6120f1efcfd","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.7464535} 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":"1d1825837699600e32979fb62ce3b783"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddb55d78-210a-46af-9141-2a57886adb46","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"a182c96e-6d72-47d0-9e4c-656931cd49cb","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.7567365} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b5495737-dcf5-4e65-b759-038dbaaa3759","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.7570171} 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":"1d1825837699600e32979fb62ce3b783"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddb55d78-210a-46af-9141-2a57886adb46","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddb55d78-210a-46af-9141-2a57886adb46","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:50.756716895Z"}]},"request_id":"8b8f6cab-9b8b-4216-81db-25aa9ad97bd3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.761834} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1d1825837699600e32979fb62ce3b783"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1d1825837699600e32979fb62ce3b783"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"1d1825837699600e32979fb62ce3b783","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MH0.RXKFX57vTyia3md6QEzAO85EEovM6jOpsN9P8XJkKY8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f546ca2e692323f093b092640d604ef2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.877938,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445690,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MH0.RXKFX57vTyia3md6QEzAO85EEovM6jOpsN9P8XJkKY8"} 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":"f546ca2e692323f093b092640d604ef2"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafc652f6-42de-4e7f-889a-2a7aef1dea2a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"89de8632-a059-4778-999a-0c3bd0798edd","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.8001337} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f546ca2e692323f093b092640d604ef2"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"38cb9e7b-138f-41c9-a299-526690168b5b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.8062987} 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":"f546ca2e692323f093b092640d604ef2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafc652f6-42de-4e7f-889a-2a7aef1dea2a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"288dbebe-ab5c-4868-a083-1bae6e86c602","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.818653} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a5efdba9-11a3-417d-8758-cd0a4afc08b6","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.8190227} 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":"f546ca2e692323f093b092640d604ef2"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafc652f6-42de-4e7f-889a-2a7aef1dea2a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafc652f6-42de-4e7f-889a-2a7aef1dea2a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:50.818631678Z"}]},"request_id":"ed21b902-5827-4053-b3de-380bf9ac39a6","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.8240142} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f546ca2e692323f093b092640d604ef2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f546ca2e692323f093b092640d604ef2"} device-1 | {"level":"info","message":"POST /devices? 201 54ms","method":"POST","requestID":"f546ca2e692323f093b092640d604ef2","responseTime":54,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MH0.RXKFX57vTyia3md6QEzAO85EEovM6jOpsN9P8XJkKY8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c0029df4c4c83d68ba4ec90c2afd739d","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.081952,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445690,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MH0.RXKFX57vTyia3md6QEzAO85EEovM6jOpsN9P8XJkKY8"} 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":"c0029df4c4c83d68ba4ec90c2afd739d"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7d2804ee-e0c1-46d8-888e-87dfa254c16d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"05bcc247-ffde-4e03-a962-cc10854d193a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.857969} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c0029df4c4c83d68ba4ec90c2afd739d"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"615cf946-bbc3-41a7-949c-43002344ca4b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.8660853} 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":"c0029df4c4c83d68ba4ec90c2afd739d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7d2804ee-e0c1-46d8-888e-87dfa254c16d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"f7e2d2ac-0417-4ad5-9c97-353da34524e4","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.8773644} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"11d63185-247c-4fdf-abce-c1ea4e951c64","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.8777084} 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":"c0029df4c4c83d68ba4ec90c2afd739d"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7d2804ee-e0c1-46d8-888e-87dfa254c16d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7d2804ee-e0c1-46d8-888e-87dfa254c16d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:50.877335606Z"}]},"request_id":"cce97bb2-dba6-4270-87c3-14341b5b08b2","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.8820755} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c0029df4c4c83d68ba4ec90c2afd739d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"278","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c0029df4c4c83d68ba4ec90c2afd739d"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"c0029df4c4c83d68ba4ec90c2afd739d","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MH0.RXKFX57vTyia3md6QEzAO85EEovM6jOpsN9P8XJkKY8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7455688e51b841b4324b8f23c29351da","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.039083,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445690,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MH0.RXKFX57vTyia3md6QEzAO85EEovM6jOpsN9P8XJkKY8"} 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":"7455688e51b841b4324b8f23c29351da"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F666b4326-cbab-4594-ba43-202e0063703e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"061b0eeb-fe22-4f24-828b-8abf27344397","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.9231915} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7455688e51b841b4324b8f23c29351da"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8e79bb63-1bdf-40f4-800c-72438722d48f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.9287882} 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":"7455688e51b841b4324b8f23c29351da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F666b4326-cbab-4594-ba43-202e0063703e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"9bd9463c-9add-4bb4-8e80-d2e452e1d01b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.941926} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9d860f0f-89b8-46e3-a0bb-221bbda6312a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.9418886} 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":"7455688e51b841b4324b8f23c29351da"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F666b4326-cbab-4594-ba43-202e0063703e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F666b4326-cbab-4594-ba43-202e0063703e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:50.941591831Z"}]},"request_id":"47948967-d95c-4fe1-a6e8-81d58d540337","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.9501488} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7455688e51b841b4324b8f23c29351da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1069","request_time":"0.066","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7455688e51b841b4324b8f23c29351da"} device-1 | {"level":"info","message":"POST /devices? 201 60ms","method":"POST","requestID":"7455688e51b841b4324b8f23c29351da","responseTime":60,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MH0.RXKFX57vTyia3md6QEzAO85EEovM6jOpsN9P8XJkKY8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"599303475bf0dc58fa0fa52add408dae","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.127338,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445690,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MH0.RXKFX57vTyia3md6QEzAO85EEovM6jOpsN9P8XJkKY8"} 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":"599303475bf0dc58fa0fa52add408dae"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8e43cd3-0451-4aed-a25b-161dbd680c8f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0ddec2f0-a59a-41f6-90c2-eb712bb4a40e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.98632} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"599303475bf0dc58fa0fa52add408dae"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"190af005-8b88-4e13-b3d8-7bcf1b6959a7","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445690.9951262} 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":"599303475bf0dc58fa0fa52add408dae"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8e43cd3-0451-4aed-a25b-161dbd680c8f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"73b89f16-7c86-445e-93b6-9d27355ee4b5","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445691.0075815} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0ded5b72-e6fd-4265-823f-e235e097ef82","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445691.0079422} 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":"599303475bf0dc58fa0fa52add408dae"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8e43cd3-0451-4aed-a25b-161dbd680c8f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8e43cd3-0451-4aed-a25b-161dbd680c8f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:51.007557379Z"}]},"request_id":"7b3b6353-1334-4e57-ad2e-c7ff76c2d511","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445691.0150104} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"599303475bf0dc58fa0fa52add408dae"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1347","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"599303475bf0dc58fa0fa52add408dae"} device-1 | {"level":"info","message":"POST /devices? 201 55ms","method":"POST","requestID":"599303475bf0dc58fa0fa52add408dae","responseTime":55,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MX0.K9ThksySzLyUC9EeH7hlvlvJqDQOTjydi5LWN8gatuc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5a951ff158d15191ec679bc87644613f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.194344,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445691,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MX0.K9ThksySzLyUC9EeH7hlvlvJqDQOTjydi5LWN8gatuc"} 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":"5a951ff158d15191ec679bc87644613f"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63dcfffc-fc03-4396-bfa6-690eab81e9de","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f3be61d6-eddb-46ce-9fae-15c402336654","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445691.0559165} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5a951ff158d15191ec679bc87644613f"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e609b751-ca4e-4075-942e-3e43180ce13f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445691.063873} 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":"5a951ff158d15191ec679bc87644613f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63dcfffc-fc03-4396-bfa6-690eab81e9de","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"93d687d6-10f0-4275-b575-45b244cf9dcc","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445691.0776916} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ab57aea1-f189-40c2-9d22-2ef1b71c0913","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445691.0778718} 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":"5a951ff158d15191ec679bc87644613f"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63dcfffc-fc03-4396-bfa6-690eab81e9de","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63dcfffc-fc03-4396-bfa6-690eab81e9de","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:51.077664243Z"}]},"request_id":"71a46e4f-2746-46e3-a7a6-292399a6c085","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445691.089105} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5a951ff158d15191ec679bc87644613f"},"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 66ms","method":"POST","requestID":"5a951ff158d15191ec679bc87644613f","responseTime":66,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:13:34:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1070","request_time":"0.071","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5a951ff158d15191ec679bc87644613f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MX0.K9ThksySzLyUC9EeH7hlvlvJqDQOTjydi5LWN8gatuc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b8a57b72ba328615868e15002780802d","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.313211,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/666b4326-cbab-4594-ba43-202e0063703e","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/666b4326-cbab-4594-ba43-202e0063703e","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445691,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MX0.K9ThksySzLyUC9EeH7hlvlvJqDQOTjydi5LWN8gatuc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b8a57b72ba328615868e15002780802d"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F666b4326-cbab-4594-ba43-202e0063703e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F666b4326-cbab-4594-ba43-202e0063703e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:50.941591831Z"}]},"request_id":"456beca5-9789-419a-a08e-5692b31d63f7","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445691.1230075} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b8a57b72ba328615868e15002780802d"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c76cb520-77af-4160-9b3e-aec4c1fe3be6","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445691.1327012} 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":"b8a57b72ba328615868e15002780802d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F666b4326-cbab-4594-ba43-202e0063703e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F666b4326-cbab-4594-ba43-202e0063703e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:50.941591831Z"}]},"request_id":"a6711611-0b33-4b46-b6be-091eb3bbfd85","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445691.1450014} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b8a57b72ba328615868e15002780802d"},"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/666b4326-cbab-4594-ba43-202e0063703e? 200 43ms","method":"PATCH","requestID":"b8a57b72ba328615868e15002780802d","responseTime":43,"status":200,"url":"/devices/666b4326-cbab-4594-ba43-202e0063703e?"} gateway-1 | {"time_local":"08/Jul/2024:13:34:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/666b4326-cbab-4594-ba43-202e0063703e? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b8a57b72ba328615868e15002780802d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MX0.K9ThksySzLyUC9EeH7hlvlvJqDQOTjydi5LWN8gatuc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"69c5cfbca8ffa036fbf8ff62144fa406","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.31737,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8e43cd3-0451-4aed-a25b-161dbd680c8f","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/d8e43cd3-0451-4aed-a25b-161dbd680c8f","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445691,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MX0.K9ThksySzLyUC9EeH7hlvlvJqDQOTjydi5LWN8gatuc"} 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":"69c5cfbca8ffa036fbf8ff62144fa406"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8e43cd3-0451-4aed-a25b-161dbd680c8f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8e43cd3-0451-4aed-a25b-161dbd680c8f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:51.007557379Z"}]},"request_id":"78dad6dc-a4ac-4e8b-985a-35ee824ecd94","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445691.1787162} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"69c5cfbca8ffa036fbf8ff62144fa406"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"29333737-6356-4c36-a598-e99f88712e26","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445691.1873934} 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":"69c5cfbca8ffa036fbf8ff62144fa406"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8e43cd3-0451-4aed-a25b-161dbd680c8f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8e43cd3-0451-4aed-a25b-161dbd680c8f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:51.007557379Z"}]},"request_id":"ac8ebad0-5977-47bd-a953-33f5c366ae3f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445691.199675} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"69c5cfbca8ffa036fbf8ff62144fa406"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/d8e43cd3-0451-4aed-a25b-161dbd680c8f? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"69c5cfbca8ffa036fbf8ff62144fa406"} device-1 | {"level":"info","message":"PATCH /devices/d8e43cd3-0451-4aed-a25b-161dbd680c8f? 200 45ms","method":"PATCH","requestID":"69c5cfbca8ffa036fbf8ff62144fa406","responseTime":45,"status":200,"url":"/devices/d8e43cd3-0451-4aed-a25b-161dbd680c8f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MX0.K9ThksySzLyUC9EeH7hlvlvJqDQOTjydi5LWN8gatuc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"da18b8dfaa175aafbbe7b2c71062e71f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.288228,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/63dcfffc-fc03-4396-bfa6-690eab81e9de","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/63dcfffc-fc03-4396-bfa6-690eab81e9de","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445691,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MX0.K9ThksySzLyUC9EeH7hlvlvJqDQOTjydi5LWN8gatuc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"da18b8dfaa175aafbbe7b2c71062e71f"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63dcfffc-fc03-4396-bfa6-690eab81e9de","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63dcfffc-fc03-4396-bfa6-690eab81e9de","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:51.077664243Z"}]},"request_id":"76509460-ff0b-40b8-b14e-6bec0245d687","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445691.2275515} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"da18b8dfaa175aafbbe7b2c71062e71f"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"523a947b-c07f-49ea-ad2b-5d57c696e0e1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445691.2361577} 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":"da18b8dfaa175aafbbe7b2c71062e71f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63dcfffc-fc03-4396-bfa6-690eab81e9de","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63dcfffc-fc03-4396-bfa6-690eab81e9de","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:51.077664243Z"}]},"request_id":"c7d242c9-12d1-45aa-afb5-9b1c64920d31","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445691.2471125} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"da18b8dfaa175aafbbe7b2c71062e71f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/63dcfffc-fc03-4396-bfa6-690eab81e9de? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"da18b8dfaa175aafbbe7b2c71062e71f"} device-1 | {"level":"info","message":"PATCH /devices/63dcfffc-fc03-4396-bfa6-690eab81e9de? 200 38ms","method":"PATCH","requestID":"da18b8dfaa175aafbbe7b2c71062e71f","responseTime":38,"status":200,"url":"/devices/63dcfffc-fc03-4396-bfa6-690eab81e9de?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MX0.K9ThksySzLyUC9EeH7hlvlvJqDQOTjydi5LWN8gatuc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d5bc73b7f730c8f2f76ae25f5c1a65a3","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.263759,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/666b4326-cbab-4594-ba43-202e0063703e","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/666b4326-cbab-4594-ba43-202e0063703e","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445691,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MX0.K9ThksySzLyUC9EeH7hlvlvJqDQOTjydi5LWN8gatuc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d5bc73b7f730c8f2f76ae25f5c1a65a3"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F666b4326-cbab-4594-ba43-202e0063703e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F666b4326-cbab-4594-ba43-202e0063703e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:50.941591831Z"}]},"request_id":"bb5ee5b9-5365-4dfc-8b7a-80faa735197e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445691.272085} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d5bc73b7f730c8f2f76ae25f5c1a65a3"},"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:58630","level":"info","msg":"Received request.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.161084,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"client_addr":"127.0.0.1:36626","level":"info","msg":"Received request.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"client_addr":"127.0.0.1:36626","level":"info","msg":"Sent response.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.190739,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/75e4ee7c-b070-4937-b012-262cf2c2bda8","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/75e4ee7c-b070-4937-b012-262cf2c2bda8","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445691,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MX0.K9ThksySzLyUC9EeH7hlvlvJqDQOTjydi5LWN8gatuc"} 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":"d5bc73b7f730c8f2f76ae25f5c1a65a3"},"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/dbe36097-f32b-400c-bc88-51a12c3d96cc","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/dbe36097-f32b-400c-bc88-51a12c3d96cc","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445691,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MX0.K9ThksySzLyUC9EeH7hlvlvJqDQOTjydi5LWN8gatuc"} 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":"d5bc73b7f730c8f2f76ae25f5c1a65a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"client_addr":"127.0.0.1:36634","level":"info","msg":"Received request.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"client_addr":"127.0.0.1:36636","level":"info","msg":"Received request.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"client_addr":"127.0.0.1:36634","level":"info","msg":"Sent response.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.83469,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6e75a6c2-b062-4c91-a5f5-86bf651e7340","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/6e75a6c2-b062-4c91-a5f5-86bf651e7340","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445691,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MX0.K9ThksySzLyUC9EeH7hlvlvJqDQOTjydi5LWN8gatuc"} 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":"d5bc73b7f730c8f2f76ae25f5c1a65a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"client_addr":"127.0.0.1:36636","level":"info","msg":"Sent response.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.639098,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8e43cd3-0451-4aed-a25b-161dbd680c8f","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/d8e43cd3-0451-4aed-a25b-161dbd680c8f","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445691,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MX0.K9ThksySzLyUC9EeH7hlvlvJqDQOTjydi5LWN8gatuc"} 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":"d5bc73b7f730c8f2f76ae25f5c1a65a3"},"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":"08/Jul/2024:13:34:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/666b4326-cbab-4594-ba43-202e0063703e? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d5bc73b7f730c8f2f76ae25f5c1a65a3"} device-1 | {"level":"info","message":"GET /devices/666b4326-cbab-4594-ba43-202e0063703e? 200 45ms","method":"GET","requestID":"d5bc73b7f730c8f2f76ae25f5c1a65a3","responseTime":45,"status":200,"url":"/devices/666b4326-cbab-4594-ba43-202e0063703e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MX0.K9ThksySzLyUC9EeH7hlvlvJqDQOTjydi5LWN8gatuc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"25aff0bff3acb650f092afa128877e8d","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.447965,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8e43cd3-0451-4aed-a25b-161dbd680c8f","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/d8e43cd3-0451-4aed-a25b-161dbd680c8f","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445691,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MX0.K9ThksySzLyUC9EeH7hlvlvJqDQOTjydi5LWN8gatuc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"25aff0bff3acb650f092afa128877e8d"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8e43cd3-0451-4aed-a25b-161dbd680c8f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8e43cd3-0451-4aed-a25b-161dbd680c8f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:51.007557379Z"}]},"request_id":"b3fbc5a0-cc4e-4b04-8567-085cc8563389","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445691.3253243} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"25aff0bff3acb650f092afa128877e8d"},"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:58630","level":"info","msg":"Received request.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.204527,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"client_addr":"127.0.0.1:36626","level":"info","msg":"Received request.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"client_addr":"127.0.0.1:36626","level":"info","msg":"Sent response.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.970316,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"client_addr":"127.0.0.1:36634","level":"info","msg":"Received request.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"client_addr":"127.0.0.1:36634","level":"info","msg":"Sent response.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.965991,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"client_addr":"127.0.0.1:36636","level":"info","msg":"Received request.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5c6fee74-505f-43c3-8df7-2e362e9da122","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/5c6fee74-505f-43c3-8df7-2e362e9da122","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445691,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MX0.K9ThksySzLyUC9EeH7hlvlvJqDQOTjydi5LWN8gatuc"} 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":"25aff0bff3acb650f092afa128877e8d"},"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/64b68cf4-d7c2-4841-aeee-3db0fe7b2a1d","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/64b68cf4-d7c2-4841-aeee-3db0fe7b2a1d","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445691,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MX0.K9ThksySzLyUC9EeH7hlvlvJqDQOTjydi5LWN8gatuc"} 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":"25aff0bff3acb650f092afa128877e8d"},"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/fcc26ab7-c261-49e4-b4b6-916c4ea6c7e9","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/fcc26ab7-c261-49e4-b4b6-916c4ea6c7e9","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445691,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MX0.K9ThksySzLyUC9EeH7hlvlvJqDQOTjydi5LWN8gatuc"} 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":"25aff0bff3acb650f092afa128877e8d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"client_addr":"127.0.0.1:36636","level":"info","msg":"Sent response.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.555825,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2890c854-4ea3-4cb7-8b97-b3d9a8043d62","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/2890c854-4ea3-4cb7-8b97-b3d9a8043d62","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445691,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MX0.K9ThksySzLyUC9EeH7hlvlvJqDQOTjydi5LWN8gatuc"} 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":"25aff0bff3acb650f092afa128877e8d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"client_addr":"127.0.0.1:52756","level":"info","msg":"Received request.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.187116,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/63dcfffc-fc03-4396-bfa6-690eab81e9de","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/63dcfffc-fc03-4396-bfa6-690eab81e9de","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445691,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MX0.K9ThksySzLyUC9EeH7hlvlvJqDQOTjydi5LWN8gatuc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"25aff0bff3acb650f092afa128877e8d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:52756","level":"info","msg":"Sent response.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.551907,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/666b4326-cbab-4594-ba43-202e0063703e","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/666b4326-cbab-4594-ba43-202e0063703e","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445691,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MX0.K9ThksySzLyUC9EeH7hlvlvJqDQOTjydi5LWN8gatuc"} 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":"25aff0bff3acb650f092afa128877e8d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d8e43cd3-0451-4aed-a25b-161dbd680c8f? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"25aff0bff3acb650f092afa128877e8d"} device-1 | {"level":"info","message":"GET /devices/d8e43cd3-0451-4aed-a25b-161dbd680c8f? 200 55ms","method":"GET","requestID":"25aff0bff3acb650f092afa128877e8d","responseTime":55,"status":200,"url":"/devices/d8e43cd3-0451-4aed-a25b-161dbd680c8f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MX0.K9ThksySzLyUC9EeH7hlvlvJqDQOTjydi5LWN8gatuc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c2f250585f49438dc73b6edaeaea0993","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":3.258751,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/63dcfffc-fc03-4396-bfa6-690eab81e9de","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/63dcfffc-fc03-4396-bfa6-690eab81e9de","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445691,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MX0.K9ThksySzLyUC9EeH7hlvlvJqDQOTjydi5LWN8gatuc"} 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":"c2f250585f49438dc73b6edaeaea0993"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63dcfffc-fc03-4396-bfa6-690eab81e9de","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F63dcfffc-fc03-4396-bfa6-690eab81e9de","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:51.077664243Z"}]},"request_id":"5bb07c84-f78d-4ed7-a99c-acb938b9a4fe","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445691.3927321} 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":"c2f250585f49438dc73b6edaeaea0993"},"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:58630","level":"info","msg":"Received request.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.391453,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"client_addr":"127.0.0.1:36626","level":"info","msg":"Received request.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"client_addr":"127.0.0.1:36626","level":"info","msg":"Sent response.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.035379,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"client_addr":"127.0.0.1:36634","level":"info","msg":"Received request.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"client_addr":"127.0.0.1:36634","level":"info","msg":"Sent response.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.175827,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"client_addr":"127.0.0.1:36636","level":"info","msg":"Received request.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ddb55d78-210a-46af-9141-2a57886adb46","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/ddb55d78-210a-46af-9141-2a57886adb46","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445691,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MX0.K9ThksySzLyUC9EeH7hlvlvJqDQOTjydi5LWN8gatuc"} 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":"c2f250585f49438dc73b6edaeaea0993"},"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/afc652f6-42de-4e7f-889a-2a7aef1dea2a","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/afc652f6-42de-4e7f-889a-2a7aef1dea2a","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445691,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MX0.K9ThksySzLyUC9EeH7hlvlvJqDQOTjydi5LWN8gatuc"} 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":"c2f250585f49438dc73b6edaeaea0993"},"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/7d2804ee-e0c1-46d8-888e-87dfa254c16d","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/7d2804ee-e0c1-46d8-888e-87dfa254c16d","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445691,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MX0.K9ThksySzLyUC9EeH7hlvlvJqDQOTjydi5LWN8gatuc"} 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":"c2f250585f49438dc73b6edaeaea0993"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:36636","level":"info","msg":"Sent response.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.273941,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/666b4326-cbab-4594-ba43-202e0063703e","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/666b4326-cbab-4594-ba43-202e0063703e","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445691,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MX0.K9ThksySzLyUC9EeH7hlvlvJqDQOTjydi5LWN8gatuc"} 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":"c2f250585f49438dc73b6edaeaea0993"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/63dcfffc-fc03-4396-bfa6-690eab81e9de? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c2f250585f49438dc73b6edaeaea0993"} device-1 | {"level":"info","message":"GET /devices/63dcfffc-fc03-4396-bfa6-690eab81e9de? 200 48ms","method":"GET","requestID":"c2f250585f49438dc73b6edaeaea0993","responseTime":48,"status":200,"url":"/devices/63dcfffc-fc03-4396-bfa6-690eab81e9de?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MX0.K9ThksySzLyUC9EeH7hlvlvJqDQOTjydi5LWN8gatuc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9f3a787fb100765eb520d7b2818a15ff","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.935665,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445691,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MX0.K9ThksySzLyUC9EeH7hlvlvJqDQOTjydi5LWN8gatuc"} 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":"9f3a787fb100765eb520d7b2818a15ff"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff116371c-5f4d-46eb-8f09-f34dd53163ab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3992bca9-638f-4f42-b709-0d287a6f492d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445691.4570663} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9f3a787fb100765eb520d7b2818a15ff"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fb1b5432-1472-426b-aee7-970884c98698","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445691.4622362} 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":"9f3a787fb100765eb520d7b2818a15ff"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff116371c-5f4d-46eb-8f09-f34dd53163ab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"ee1de789-231f-4691-96a8-2488fa843f9e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445691.4742959} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ff39d158-d445-4c70-a88a-426012bebcf6","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445691.474601} 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":"9f3a787fb100765eb520d7b2818a15ff"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff116371c-5f4d-46eb-8f09-f34dd53163ab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff116371c-5f4d-46eb-8f09-f34dd53163ab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:51.474263124Z"}]},"request_id":"815c6ee4-e139-48d7-9d1a-0b142e331050","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445691.4797904} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9f3a787fb100765eb520d7b2818a15ff"},"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":"9f3a787fb100765eb520d7b2818a15ff","responseTime":51,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:13:34:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"284","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9f3a787fb100765eb520d7b2818a15ff"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MX0.K9ThksySzLyUC9EeH7hlvlvJqDQOTjydi5LWN8gatuc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"05ed1c043dca577ea8ce41f55ae0672a","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.087588,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445691,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MX0.K9ThksySzLyUC9EeH7hlvlvJqDQOTjydi5LWN8gatuc"} 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":"05ed1c043dca577ea8ce41f55ae0672a"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F464dee32-f04a-4dd8-80d3-3b9e26b35e87","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1727a93a-354f-4ee9-b7d0-a6c4141b38f2","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445691.5089815} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"05ed1c043dca577ea8ce41f55ae0672a"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a1173496-24c5-4cca-95b0-22be0e80ff26","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445691.5159237} 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":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"05ed1c043dca577ea8ce41f55ae0672a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F464dee32-f04a-4dd8-80d3-3b9e26b35e87","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"bf37203f-d501-4b6d-ad13-ae5bc09e1f7d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445691.525118} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8bd1ae47-0e93-4330-a41a-72ac9e3d24cc","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445691.5252962} 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":"05ed1c043dca577ea8ce41f55ae0672a"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F464dee32-f04a-4dd8-80d3-3b9e26b35e87","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F464dee32-f04a-4dd8-80d3-3b9e26b35e87","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:51.525096607Z"}]},"request_id":"20d846af-7786-46fb-94ef-d996f349b9be","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445691.5301952} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"05ed1c043dca577ea8ce41f55ae0672a"},"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":"05ed1c043dca577ea8ce41f55ae0672a","responseTime":41,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:13:34:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"545","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"05ed1c043dca577ea8ce41f55ae0672a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MX0.K9ThksySzLyUC9EeH7hlvlvJqDQOTjydi5LWN8gatuc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"96004e0d901d1ba565284b9a36300365","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.943841,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445691,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5MX0.K9ThksySzLyUC9EeH7hlvlvJqDQOTjydi5LWN8gatuc"} 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":"96004e0d901d1ba565284b9a36300365"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffd6653ff-bea5-418c-ad3a-d8ea05333b03","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"857f6ce9-23bf-40aa-9e82-5e97dbac9da6","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445691.5654395} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"96004e0d901d1ba565284b9a36300365"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ca6f396b-83f3-4f29-bfca-52d2b6baf8e6","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445691.5714128} 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":"96004e0d901d1ba565284b9a36300365"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffd6653ff-bea5-418c-ad3a-d8ea05333b03","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"62a6edee-1428-4baf-9fc8-ebd091e4e9d1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445691.5838053} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"06e435bb-2102-4b14-a0ef-8ccbbe30e666","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445691.58422} 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":"96004e0d901d1ba565284b9a36300365"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffd6653ff-bea5-418c-ad3a-d8ea05333b03","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffd6653ff-bea5-418c-ad3a-d8ea05333b03","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:51.583723907Z"}]},"request_id":"be450068-f6cd-47e5-922d-a5a93f073063","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445691.5897737} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"96004e0d901d1ba565284b9a36300365"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34: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.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"96004e0d901d1ba565284b9a36300365"} device-1 | {"level":"info","message":"POST /devices? 201 52ms","method":"POST","requestID":"96004e0d901d1ba565284b9a36300365","responseTime":52,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0d47c047547237e4b30774a8ce5f0cde","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:34:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03/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":"0d47c047547237e4b30774a8ce5f0cde"} device-1 | {"level":"info","message":"OPTIONS /devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03/websocket 200 1ms","method":"OPTIONS","requestID":"0d47c047547237e4b30774a8ce5f0cde","responseTime":1,"status":200,"url":"/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5M30.Jb-xddegZlRiKLAHfceMW6zkiiTu1tqF0-T2bRhrSog","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7349979b7c659a378c7ad8704bbe8fdc","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:53Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.557045,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445693,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5M30.Jb-xddegZlRiKLAHfceMW6zkiiTu1tqF0-T2bRhrSog"} 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":"7349979b7c659a378c7ad8704bbe8fdc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d75a2e15459a497f6dd16d51bb6da043","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:34:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f116371c-5f4d-46eb-8f09-f34dd53163ab/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":"d75a2e15459a497f6dd16d51bb6da043"} device-1 | {"level":"info","message":"OPTIONS /devices/f116371c-5f4d-46eb-8f09-f34dd53163ab/websocket 200 1ms","method":"OPTIONS","requestID":"d75a2e15459a497f6dd16d51bb6da043","responseTime":1,"status":200,"url":"/devices/f116371c-5f4d-46eb-8f09-f34dd53163ab/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5M30.Jb-xddegZlRiKLAHfceMW6zkiiTu1tqF0-T2bRhrSog","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9a4fedf810fe6909e79b4026f7fcd257","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:53Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.651675,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f116371c-5f4d-46eb-8f09-f34dd53163ab","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/f116371c-5f4d-46eb-8f09-f34dd53163ab","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445693,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5M30.Jb-xddegZlRiKLAHfceMW6zkiiTu1tqF0-T2bRhrSog"} 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":"9a4fedf810fe6909e79b4026f7fcd257"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03/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":"7349979b7c659a378c7ad8704bbe8fdc"} device-1 | {"level":"info","message":"POST /devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03/websocket 200 48ms","method":"POST","requestID":"7349979b7c659a378c7ad8704bbe8fdc","responseTime":48,"status":200,"url":"/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f116371c-5f4d-46eb-8f09-f34dd53163ab/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.040","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9a4fedf810fe6909e79b4026f7fcd257"} device-1 | {"level":"info","message":"POST /devices/f116371c-5f4d-46eb-8f09-f34dd53163ab/websocket 200 37ms","method":"POST","requestID":"9a4fedf810fe6909e79b4026f7fcd257","responseTime":37,"status":200,"url":"/devices/f116371c-5f4d-46eb-8f09-f34dd53163ab/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f116371c-5f4d-46eb-8f09-f34dd53163ab' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5M30.Jb-xddegZlRiKLAHfceMW6zkiiTu1tqF0-T2bRhrSog","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"48579bbf2f7ffb2c2a077afa117a74af","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:53Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.793909,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445693,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5M30.Jb-xddegZlRiKLAHfceMW6zkiiTu1tqF0-T2bRhrSog"} 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":"48579bbf2f7ffb2c2a077afa117a74af"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffd6653ff-bea5-418c-ad3a-d8ea05333b03","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffd6653ff-bea5-418c-ad3a-d8ea05333b03","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:51.583723907Z"}]},"request_id":"38eb4e7b-6820-4b8d-9119-9260af1eb025","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445693.6726422} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48579bbf2f7ffb2c2a077afa117a74af"},"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/fd6653ff-bea5-418c-ad3a-d8ea05333b03? 200 14ms","method":"GET","requestID":"48579bbf2f7ffb2c2a077afa117a74af","responseTime":14,"status":200,"url":"/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03?"} gateway-1 | {"time_local":"08/Jul/2024:13:34:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03? 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":"48579bbf2f7ffb2c2a077afa117a74af"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5M30.Jb-xddegZlRiKLAHfceMW6zkiiTu1tqF0-T2bRhrSog","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"485033d43953defdc65068c27c281cd3","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:58630","level":"info","msg":"Received request.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:53Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.874173,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445693,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5M30.Jb-xddegZlRiKLAHfceMW6zkiiTu1tqF0-T2bRhrSog"} 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":"485033d43953defdc65068c27c281cd3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c788968-37f8-40b2-af89-f34b786237a1"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c788968-37f8-40b2-af89-f34b786237a1"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c788968-37f8-40b2-af89-f34b786237a1"},"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:58630","level":"info","msg":"Received request.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:53Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.164194,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:53Z"} authorization-1 | {"client_addr":"127.0.0.1:36626","level":"info","msg":"Received request.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/464dee32-f04a-4dd8-80d3-3b9e26b35e87","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/464dee32-f04a-4dd8-80d3-3b9e26b35e87","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445693,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5M30.Jb-xddegZlRiKLAHfceMW6zkiiTu1tqF0-T2bRhrSog"} 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":"dbced550-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:36626","level":"info","msg":"Sent response.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.502408,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445693,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5M30.Jb-xddegZlRiKLAHfceMW6zkiiTu1tqF0-T2bRhrSog"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dbcefc60-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F464dee32-f04a-4dd8-80d3-3b9e26b35e87","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F464dee32-f04a-4dd8-80d3-3b9e26b35e87","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:51.525096607Z"}]},"request_id":"b781e49d-e413-4389-ba99-d281659726cf","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445693.7441134} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dbced550-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffd6653ff-bea5-418c-ad3a-d8ea05333b03","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffd6653ff-bea5-418c-ad3a-d8ea05333b03","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:51.583723907Z"}]},"request_id":"37a8486b-1b75-4815-80fd-f48287fa46a2","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445693.7453804} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dbcefc60-3d2e-11ef-b932-e1799b48160b"},"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/fd6653ff-bea5-418c-ad3a-d8ea05333b03? 200 21ms","method":"GET","requestID":"dbcefc60-3d2e-11ef-b932-e1799b48160b","responseTime":21,"status":200,"url":"/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03?"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:53Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.698269,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f116371c-5f4d-46eb-8f09-f34dd53163ab","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/f116371c-5f4d-46eb-8f09-f34dd53163ab","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445693,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5M30.Jb-xddegZlRiKLAHfceMW6zkiiTu1tqF0-T2bRhrSog"} 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":"dbced550-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/464dee32-f04a-4dd8-80d3-3b9e26b35e87? 200 29ms","method":"GET","requestID":"dbced550-3d2e-11ef-b932-e1799b48160b","responseTime":29,"status":200,"url":"/devices/464dee32-f04a-4dd8-80d3-3b9e26b35e87?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c788968-37f8-40b2-af89-f34b786237a1"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c788968-37f8-40b2-af89-f34b786237a1"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c788968-37f8-40b2-af89-f34b786237a1"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c788968-37f8-40b2-af89-f34b786237a1"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c788968-37f8-40b2-af89-f34b786237a1"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c788968-37f8-40b2-af89-f34b786237a1"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c788968-37f8-40b2-af89-f34b786237a1"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c788968-37f8-40b2-af89-f34b786237a1"},"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:58630","level":"info","msg":"Received request.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:53Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.455928,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:53Z"} authorization-1 | {"client_addr":"127.0.0.1:36626","level":"info","msg":"Received request.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:53Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c788968-37f8-40b2-af89-f34b786237a1"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f116371c-5f4d-46eb-8f09-f34dd53163ab","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/f116371c-5f4d-46eb-8f09-f34dd53163ab","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445693,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5M30.Jb-xddegZlRiKLAHfceMW6zkiiTu1tqF0-T2bRhrSog"} 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":"dbdc42d0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:36626","level":"info","msg":"Sent response.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.439369,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445693,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5M30.Jb-xddegZlRiKLAHfceMW6zkiiTu1tqF0-T2bRhrSog"} 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":"dbdcb800-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:53Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff116371c-5f4d-46eb-8f09-f34dd53163ab","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"de08ad93-0540-420a-ba2e-1ff038d6d0d3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445693.8374648} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.62579,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f116371c-5f4d-46eb-8f09-f34dd53163ab","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f116371c-5f4d-46eb-8f09-f34dd53163ab","object_type":"device","rebac_allow":false,"scope_allow":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":"dbdd5440-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff116371c-5f4d-46eb-8f09-f34dd53163ab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff116371c-5f4d-46eb-8f09-f34dd53163ab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:51.474263124Z"}]},"request_id":"6658fb1e-ebe2-4c2b-937c-031abad7f4c4","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445693.841615} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffd6653ff-bea5-418c-ad3a-d8ea05333b03","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffd6653ff-bea5-418c-ad3a-d8ea05333b03","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:51.583723907Z"}]},"request_id":"84124f54-7244-4d21-9aec-3fb55a2e5604","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445693.843779} 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":"dbdc42d0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dbdcb800-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f116371c-5f4d-46eb-8f09-f34dd53163ab/signaling 200 26ms","method":"POST","requestID":"dbdd5440-3d2e-11ef-b932-e1799b48160b","responseTime":26,"status":200,"url":"/devices/f116371c-5f4d-46eb-8f09-f34dd53163ab/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2c788968-37f8-40b2-af89-f34b786237a1#owner@http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2c788968-37f8-40b2-af89-f34b786237a1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"4d03071e-3933-489b-96b5-343686db129b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445693.8576164} device-1 | {"level":"info","message":"GET /devices/f116371c-5f4d-46eb-8f09-f34dd53163ab? 200 37ms","method":"GET","requestID":"dbdc42d0-3d2e-11ef-b932-e1799b48160b","responseTime":37,"status":200,"url":"/devices/f116371c-5f4d-46eb-8f09-f34dd53163ab?"} 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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cdaa4f74-914b-4c99-8cf1-816250a71eb8","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445693.860317} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03? 200 40ms","method":"GET","requestID":"dbdcb800-3d2e-11ef-b932-e1799b48160b","responseTime":40,"status":200,"url":"/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03?"} 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":"485033d43953defdc65068c27c281cd3"},"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:58630","level":"info","msg":"Received request.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:53Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffd6653ff-bea5-418c-ad3a-d8ea05333b03","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"95044840-1d08-41d6-a94a-6fbca6e88c33","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445693.8704486} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.301321,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:53Z"} authorization-1 | {"client_addr":"127.0.0.1:36626","level":"info","msg":"Received request.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03","object_type":"device","rebac_allow":false,"scope_allow":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":"dbe23640-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff116371c-5f4d-46eb-8f09-f34dd53163ab","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8de84b44-c0fd-45ee-99a7-1158c150ea38","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445693.8778377} authorization-1 | {"client_addr":"127.0.0.1:36626","level":"info","msg":"Sent response.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.607283,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f116371c-5f4d-46eb-8f09-f34dd53163ab","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f116371c-5f4d-46eb-8f09-f34dd53163ab","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/2c788968-37f8-40b2-af89-f34b786237a1","user":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dbe36ec0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} gateway-1 | {"time_local":"08/Jul/2024:13:34:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.203","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"485033d43953defdc65068c27c281cd3"} experiment-1 | {"level":"info","message":"POST /experiments? 201 199ms","method":"POST","requestID":"485033d43953defdc65068c27c281cd3","responseTime":199,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03/signaling 200 26ms","method":"POST","requestID":"dbe23640-3d2e-11ef-b932-e1799b48160b","responseTime":26,"status":200,"url":"/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f116371c-5f4d-46eb-8f09-f34dd53163ab/signaling 200 22ms","method":"POST","requestID":"dbe36ec0-3d2e-11ef-b932-e1799b48160b","responseTime":22,"status":200,"url":"/devices/f116371c-5f4d-46eb-8f09-f34dd53163ab/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5M30.Jb-xddegZlRiKLAHfceMW6zkiiTu1tqF0-T2bRhrSog","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f95a387248a16689c287e9a2baf7369b","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:53Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.173842,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f116371c-5f4d-46eb-8f09-f34dd53163ab","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/f116371c-5f4d-46eb-8f09-f34dd53163ab","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445693,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5M30.Jb-xddegZlRiKLAHfceMW6zkiiTu1tqF0-T2bRhrSog"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f95a387248a16689c287e9a2baf7369b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36626","level":"info","msg":"Received request.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:53Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffd6653ff-bea5-418c-ad3a-d8ea05333b03","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a1c6ff5a-d6b1-48fb-b2e1-946416741a62","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445693.900284} authorization-1 | {"client_addr":"127.0.0.1:36626","level":"info","msg":"Sent response.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.991903,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dbe78d70-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff116371c-5f4d-46eb-8f09-f34dd53163ab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff116371c-5f4d-46eb-8f09-f34dd53163ab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:51.474263124Z"}]},"request_id":"2253c224-a583-4974-9bef-6c588118c062","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445693.9054315} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03/signaling 200 11ms","method":"POST","requestID":"dbe78d70-3d2e-11ef-b932-e1799b48160b","responseTime":11,"status":200,"url":"/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03/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":"f95a387248a16689c287e9a2baf7369b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c788968-37f8-40b2-af89-f34b786237a1"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c788968-37f8-40b2-af89-f34b786237a1"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"c27f9c92-b3a6-47dc-aaa8-aabe4037ea58"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"d4513efe-2b6c-41f7-add1-a2520bf92911"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"144e26ce-fc3d-43e5-a476-42e557843e4a"}]},"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/f116371c-5f4d-46eb-8f09-f34dd53163ab"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f116371c-5f4d-46eb-8f09-f34dd53163ab? HTTP/1.1","status": "200","body_bytes_sent":"283","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f95a387248a16689c287e9a2baf7369b"} device-1 | {"level":"info","message":"GET /devices/f116371c-5f4d-46eb-8f09-f34dd53163ab? 200 21ms","method":"GET","requestID":"f95a387248a16689c287e9a2baf7369b","responseTime":21,"status":200,"url":"/devices/f116371c-5f4d-46eb-8f09-f34dd53163ab?"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:53Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.185589,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445693,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5M30.Jb-xddegZlRiKLAHfceMW6zkiiTu1tqF0-T2bRhrSog"} 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":"dbe9d760-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5M30.Jb-xddegZlRiKLAHfceMW6zkiiTu1tqF0-T2bRhrSog","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"cff260b395a04f54902e218149bcf82c","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:53Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.835173,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445693,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5M30.Jb-xddegZlRiKLAHfceMW6zkiiTu1tqF0-T2bRhrSog"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cff260b395a04f54902e218149bcf82c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","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%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"785ff03d-e174-42bb-9ff7-4a750a430864","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445693.9292579} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8db46e5a-1436-4470-8663-03ae4fd42eda","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445693.9295611} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffd6653ff-bea5-418c-ad3a-d8ea05333b03","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffd6653ff-bea5-418c-ad3a-d8ea05333b03","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:51.583723907Z"}]},"request_id":"baeda48f-7ccb-437b-9ba8-ecd6c1adf0ef","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445693.930254} 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":"dbe9d760-3d2e-11ef-b932-e1799b48160b"},"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":"cff260b395a04f54902e218149bcf82c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03? 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":"cff260b395a04f54902e218149bcf82c"} device-1 | {"level":"info","message":"GET /devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03? 200 18ms","method":"GET","requestID":"cff260b395a04f54902e218149bcf82c","responseTime":18,"status":200,"url":"/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03?"} 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/c59c3673-2eb0-47fb-a63c-950f1f2fc498'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c59c3673-2eb0-47fb-a63c-950f1f2fc498'"} 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":"dbe9d760-3d2e-11ef-b932-e1799b48160b","responseTime":39,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c788968-37f8-40b2-af89-f34b786237a1"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:53Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff116371c-5f4d-46eb-8f09-f34dd53163ab","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d2d3d112-c1cb-4a56-9d03-c6354890d2b3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445693.9863062} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.444281,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f116371c-5f4d-46eb-8f09-f34dd53163ab","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f116371c-5f4d-46eb-8f09-f34dd53163ab","object_type":"device","rebac_allow":false,"scope_allow":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":"dbf4acd0-3d2e-11ef-b932-e1799b48160b"},"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/f116371c-5f4d-46eb-8f09-f34dd53163ab/signaling 200 9ms","method":"POST","requestID":"dbf4acd0-3d2e-11ef-b932-e1799b48160b","responseTime":9,"status":200,"url":"/devices/f116371c-5f4d-46eb-8f09-f34dd53163ab/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:53Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffd6653ff-bea5-418c-ad3a-d8ea05333b03","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3c159018-8540-40e5-aa16-a104d9147e4b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445693.9974046} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.187611,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03","object_type":"device","rebac_allow":false,"scope_allow":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":"dbf65a80-3d2e-11ef-b932-e1799b48160b"},"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/fd6653ff-bea5-418c-ad3a-d8ea05333b03/signaling 200 14ms","method":"POST","requestID":"dbf65a80-3d2e-11ef-b932-e1799b48160b","responseTime":14,"status":200,"url":"/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/f116371c-5f4d-46eb-8f09-f34dd53163ab'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/f116371c-5f4d-46eb-8f09-f34dd53163ab'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c59c3673-2eb0-47fb-a63c-950f1f2fc498' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c59c3673-2eb0-47fb-a63c-950f1f2fc498","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0f9200037e808ebb40da13dcda1fc8be","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/f116371c-5f4d-46eb-8f09-f34dd53163ab"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c59c3673-2eb0-47fb-a63c-950f1f2fc498"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"0f9200037e808ebb40da13dcda1fc8be","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:34: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.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"0f9200037e808ebb40da13dcda1fc8be"} device-1 | {"data":{"peerconnection":"c59c3673-2eb0-47fb-a63c-950f1f2fc498","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"c59c3673-2eb0-47fb-a63c-950f1f2fc498","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/c59c3673-2eb0-47fb-a63c-950f1f2fc498' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c59c3673-2eb0-47fb-a63c-950f1f2fc498","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"396f07a4334ce8e01457c905ca58417c","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/f116371c-5f4d-46eb-8f09-f34dd53163ab"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c59c3673-2eb0-47fb-a63c-950f1f2fc498"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:54Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc59c3673-2eb0-47fb-a63c-950f1f2fc498","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"73f00052-5fb4-4a55-aa8e-6972a63f7288","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445694.081789} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.201893,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c59c3673-2eb0-47fb-a63c-950f1f2fc498","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c59c3673-2eb0-47fb-a63c-950f1f2fc498","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":"dc0352d0-3d2e-11ef-b932-e1799b48160b"},"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/c59c3673-2eb0-47fb-a63c-950f1f2fc498 200 8ms","method":"GET","requestID":"dc0352d0-3d2e-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/peerconnections/c59c3673-2eb0-47fb-a63c-950f1f2fc498"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 31ms","method":"POST","requestID":"396f07a4334ce8e01457c905ca58417c","responseTime":31,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:34: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.034","http_referrer":"","http_user_agent":"node-fetch","requestID":"396f07a4334ce8e01457c905ca58417c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:54Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff116371c-5f4d-46eb-8f09-f34dd53163ab","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"30fd1408-b243-4a0d-bdbb-fb30fc134751","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445694.1089425} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.279303,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f116371c-5f4d-46eb-8f09-f34dd53163ab","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f116371c-5f4d-46eb-8f09-f34dd53163ab","object_type":"device","rebac_allow":false,"scope_allow":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":"dc077180-3d2e-11ef-b932-e1799b48160b"},"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/f116371c-5f4d-46eb-8f09-f34dd53163ab/signaling 200 9ms","method":"POST","requestID":"dc077180-3d2e-11ef-b932-e1799b48160b","responseTime":9,"status":200,"url":"/devices/f116371c-5f4d-46eb-8f09-f34dd53163ab/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:54Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffd6653ff-bea5-418c-ad3a-d8ea05333b03","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4f2dcac7-870e-48a2-8c10-9e3c7a691c8f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445694.1192923} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.100687,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03","object_type":"device","rebac_allow":false,"scope_allow":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":"dc091f30-3d2e-11ef-b932-e1799b48160b"},"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/fd6653ff-bea5-418c-ad3a-d8ea05333b03/signaling 200 8ms","method":"POST","requestID":"dc091f30-3d2e-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5NH0.0fDemUw4grqthW6nPdx7kGWaa21EL5mMggEB2vfqCPQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"14eeda8a3f94a43c7c6e1f241147bf73","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2c788968-37f8-40b2-af89-f34b786237a1"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:54Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.736998,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2c788968-37f8-40b2-af89-f34b786237a1","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/2c788968-37f8-40b2-af89-f34b786237a1","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445694,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5NH0.0fDemUw4grqthW6nPdx7kGWaa21EL5mMggEB2vfqCPQ"} 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":"14eeda8a3f94a43c7c6e1f241147bf73"},"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/2c788968-37f8-40b2-af89-f34b786237a1"} experiment-1 | {"level":"info","message":"GET /experiments/2c788968-37f8-40b2-af89-f34b786237a1 200 9ms","method":"GET","requestID":"14eeda8a3f94a43c7c6e1f241147bf73","responseTime":9,"status":200,"url":"/experiments/2c788968-37f8-40b2-af89-f34b786237a1"} gateway-1 | {"time_local":"08/Jul/2024:13:34:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2c788968-37f8-40b2-af89-f34b786237a1 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"14eeda8a3f94a43c7c6e1f241147bf73"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5NH0.0fDemUw4grqthW6nPdx7kGWaa21EL5mMggEB2vfqCPQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"112f8038893e44c433fc32f5453f574f","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/2c788968-37f8-40b2-af89-f34b786237a1"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:54Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.691347,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:54Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2c788968-37f8-40b2-af89-f34b786237a1","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/2c788968-37f8-40b2-af89-f34b786237a1","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445694,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5NH0.0fDemUw4grqthW6nPdx7kGWaa21EL5mMggEB2vfqCPQ"} 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":"112f8038893e44c433fc32f5453f574f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c788968-37f8-40b2-af89-f34b786237a1"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:54Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.689325,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:54Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c59c3673-2eb0-47fb-a63c-950f1f2fc498","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:http://localhost/peerconnections/c59c3673-2eb0-47fb-a63c-950f1f2fc498","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445694,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5NH0.0fDemUw4grqthW6nPdx7kGWaa21EL5mMggEB2vfqCPQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc115c90-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c59c3673-2eb0-47fb-a63c-950f1f2fc498' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c59c3673-2eb0-47fb-a63c-950f1f2fc498' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c59c3673-2eb0-47fb-a63c-950f1f2fc498","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"90b525ba153053c9690d512418b923a3","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc59c3673-2eb0-47fb-a63c-950f1f2fc498': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc59c3673-2eb0-47fb-a63c-950f1f2fc498","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"a3f0c558-8fb2-4ffd-b6f5-510d3be5680a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445694.1895823} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2fef17fb-ca2b-4f5d-b286-0279930e0aed","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445694.1898003} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/f116371c-5f4d-46eb-8f09-f34dd53163ab"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c59c3673-2eb0-47fb-a63c-950f1f2fc498"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3d28eb40daf04e3e4b16878a012cdebd","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f116371c-5f4d-46eb-8f09-f34dd53163ab"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c59c3673-2eb0-47fb-a63c-950f1f2fc498"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc115c90-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"data":{"peerconnection":"c59c3673-2eb0-47fb-a63c-950f1f2fc498","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/c59c3673-2eb0-47fb-a63c-950f1f2fc498 204 39ms","method":"DELETE","requestID":"dc115c90-3d2e-11ef-b932-e1799b48160b","responseTime":39,"status":204,"url":"/peerconnections/c59c3673-2eb0-47fb-a63c-950f1f2fc498"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c788968-37f8-40b2-af89-f34b786237a1"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:54Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff116371c-5f4d-46eb-8f09-f34dd53163ab","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c76329d7-a5b1-4a52-9eb1-8feedc8b27be","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445694.2386599} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.671927,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f116371c-5f4d-46eb-8f09-f34dd53163ab","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f116371c-5f4d-46eb-8f09-f34dd53163ab","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc1b2090-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2c788968-37f8-40b2-af89-f34b786237a1': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2c788968-37f8-40b2-af89-f34b786237a1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"0ac01c3c-b293-4e2c-ae88-127354b682fa","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445694.243451} device-1 | {"level":"info","message":"POST /devices/f116371c-5f4d-46eb-8f09-f34dd53163ab/signaling 200 10ms","method":"POST","requestID":"dc1b2090-3d2e-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/f116371c-5f4d-46eb-8f09-f34dd53163ab/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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a8486f80-4eb8-4824-8d31-68a67a9b73e4","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445694.2437782} 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":"112f8038893e44c433fc32f5453f574f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:54Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffd6653ff-bea5-418c-ad3a-d8ea05333b03","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"74805767-7e5a-4ffd-80fa-1ba74a15eff1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445694.2518473} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.358791,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc1d1c60-3d2e-11ef-b932-e1799b48160b"},"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/fd6653ff-bea5-418c-ad3a-d8ea05333b03/signaling 200 11ms","method":"POST","requestID":"dc1d1c60-3d2e-11ef-b932-e1799b48160b","responseTime":11,"status":200,"url":"/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/2c788968-37f8-40b2-af89-f34b786237a1"} gateway-1 | {"time_local":"08/Jul/2024:13:34:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/2c788968-37f8-40b2-af89-f34b786237a1 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.159","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"112f8038893e44c433fc32f5453f574f"} experiment-1 | {"level":"info","message":"DELETE /experiments/2c788968-37f8-40b2-af89-f34b786237a1 204 156ms","method":"DELETE","requestID":"112f8038893e44c433fc32f5453f574f","responseTime":156,"status":204,"url":"/experiments/2c788968-37f8-40b2-af89-f34b786237a1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 128ms","method":"POST","requestID":"90b525ba153053c9690d512418b923a3","responseTime":128,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:34: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.131","http_referrer":"","http_user_agent":"node-fetch","requestID":"90b525ba153053c9690d512418b923a3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 128ms","method":"POST","requestID":"3d28eb40daf04e3e4b16878a012cdebd","responseTime":128,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:34: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.132","http_referrer":"","http_user_agent":"node-fetch","requestID":"3d28eb40daf04e3e4b16878a012cdebd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5NH0.0fDemUw4grqthW6nPdx7kGWaa21EL5mMggEB2vfqCPQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c1ee6c64b86cf04b0690d2aef08cf837","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:13:34:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2647","request_time":"0.693","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"595c85083629f9da35896868cde3dd65"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:54Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.059103,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:54Z"} gateway-1 | {"time_local":"08/Jul/2024:13:34:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2647","request_time":"0.685","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"648729447fd9ea30a026c89fe5f83b1a"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445694,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5NH0.0fDemUw4grqthW6nPdx7kGWaa21EL5mMggEB2vfqCPQ"} 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":"c1ee6c64b86cf04b0690d2aef08cf837"},"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/f116371c-5f4d-46eb-8f09-f34dd53163ab' 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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43024f7b-6dcf-4709-aadc-9cfe07affaac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"252f0abe-cc56-4bee-8680-3170273348f2","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445694.3375826} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c1ee6c64b86cf04b0690d2aef08cf837"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4e225c55-effe-4492-8aef-1d4ed8db0bb9","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445694.3425508} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/fd6653ff-bea5-418c-ad3a-d8ea05333b03' closed"} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c1ee6c64b86cf04b0690d2aef08cf837"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43024f7b-6dcf-4709-aadc-9cfe07affaac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"984e25ca-506a-4d88-ad11-125aaebdb32d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445694.3524978} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d2d55ddd-a7c1-488a-9f96-12563884021d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445694.3526096} 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":"c1ee6c64b86cf04b0690d2aef08cf837"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43024f7b-6dcf-4709-aadc-9cfe07affaac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43024f7b-6dcf-4709-aadc-9cfe07affaac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:54.352482929Z"}]},"request_id":"81bef6dd-10f2-4cb1-afd2-50385c3fb4f8","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445694.3571591} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c1ee6c64b86cf04b0690d2aef08cf837"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34: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.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c1ee6c64b86cf04b0690d2aef08cf837"} device-1 | {"level":"info","message":"POST /devices? 201 37ms","method":"POST","requestID":"c1ee6c64b86cf04b0690d2aef08cf837","responseTime":37,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5NH0.0fDemUw4grqthW6nPdx7kGWaa21EL5mMggEB2vfqCPQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f603950e51ab423241178095b2daef88","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:54Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.718178,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:54Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445694,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5NH0.0fDemUw4grqthW6nPdx7kGWaa21EL5mMggEB2vfqCPQ"} 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":"f603950e51ab423241178095b2daef88"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6da5c096-cd74-40be-8ed2-041241b39b9e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"99b926ac-7af8-4cd3-a1f3-fa23353c1332","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445694.3794065} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f603950e51ab423241178095b2daef88"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b3932445-ad25-4e32-b40b-ef1248ae5130","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445694.3839223} 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":"f603950e51ab423241178095b2daef88"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6da5c096-cd74-40be-8ed2-041241b39b9e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"d7ea320b-7734-49b6-af69-a4cd6a4dc8f2","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445694.3974838} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4abaebd2-8714-4d80-9fdb-917356176af7","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445694.397568} 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":"f603950e51ab423241178095b2daef88"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6da5c096-cd74-40be-8ed2-041241b39b9e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6da5c096-cd74-40be-8ed2-041241b39b9e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:54.397464050Z"}]},"request_id":"3edab4d6-c3dc-4cdf-b4bd-6530053170fd","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445694.402157} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f603950e51ab423241178095b2daef88"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34: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.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f603950e51ab423241178095b2daef88"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"f603950e51ab423241178095b2daef88","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5NH0.0fDemUw4grqthW6nPdx7kGWaa21EL5mMggEB2vfqCPQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4f0141d056e85e94541fe41450a21415","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:54Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.667308,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:54Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/43024f7b-6dcf-4709-aadc-9cfe07affaac","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/43024f7b-6dcf-4709-aadc-9cfe07affaac","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445694,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5NH0.0fDemUw4grqthW6nPdx7kGWaa21EL5mMggEB2vfqCPQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f0141d056e85e94541fe41450a21415"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43024f7b-6dcf-4709-aadc-9cfe07affaac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43024f7b-6dcf-4709-aadc-9cfe07affaac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:54.352482929Z"}]},"request_id":"e2e1cd51-ddf9-4a33-b87a-9346b7697f5a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445694.8942184} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f0141d056e85e94541fe41450a21415"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dbc5a20f-1bf0-4cd3-8e29-165be1dff4a2","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445694.9011428} 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":"4f0141d056e85e94541fe41450a21415"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43024f7b-6dcf-4709-aadc-9cfe07affaac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43024f7b-6dcf-4709-aadc-9cfe07affaac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:54.352482929Z"}]},"request_id":"e7f601db-1428-405f-a0b0-78ca6b49d364","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445694.9145849} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f0141d056e85e94541fe41450a21415"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/43024f7b-6dcf-4709-aadc-9cfe07affaac HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"4f0141d056e85e94541fe41450a21415"} device-1 | {"level":"info","message":"PATCH /devices/43024f7b-6dcf-4709-aadc-9cfe07affaac 200 39ms","method":"PATCH","requestID":"4f0141d056e85e94541fe41450a21415","responseTime":39,"status":200,"url":"/devices/43024f7b-6dcf-4709-aadc-9cfe07affaac"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5NH0.0fDemUw4grqthW6nPdx7kGWaa21EL5mMggEB2vfqCPQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7e617a241712da198d927f308f1126a8","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:54Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.296376,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:54Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/43024f7b-6dcf-4709-aadc-9cfe07affaac","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/43024f7b-6dcf-4709-aadc-9cfe07affaac","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445694,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5NH0.0fDemUw4grqthW6nPdx7kGWaa21EL5mMggEB2vfqCPQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7e617a241712da198d927f308f1126a8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/43024f7b-6dcf-4709-aadc-9cfe07affaac/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"7e617a241712da198d927f308f1126a8"} device-1 | {"level":"info","message":"POST /devices/43024f7b-6dcf-4709-aadc-9cfe07affaac/websocket 200 23ms","method":"POST","requestID":"7e617a241712da198d927f308f1126a8","responseTime":23,"status":200,"url":"/devices/43024f7b-6dcf-4709-aadc-9cfe07affaac/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/43024f7b-6dcf-4709-aadc-9cfe07affaac' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"69f1d0e23b2c312b58bdad70b215b2f3","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:34:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/6da5c096-cd74-40be-8ed2-041241b39b9e/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":"69f1d0e23b2c312b58bdad70b215b2f3"} device-1 | {"level":"info","message":"OPTIONS /devices/6da5c096-cd74-40be-8ed2-041241b39b9e/websocket 200 1ms","method":"OPTIONS","requestID":"69f1d0e23b2c312b58bdad70b215b2f3","responseTime":1,"status":200,"url":"/devices/6da5c096-cd74-40be-8ed2-041241b39b9e/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5Nn0.AQK0e7KoA-PoJnMICGST1RizQtd52TFPSmGapucaho0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b70d9c9c7b186d831b8ca09cd5f48408","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:56Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.250379,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6da5c096-cd74-40be-8ed2-041241b39b9e","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/6da5c096-cd74-40be-8ed2-041241b39b9e","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445696,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5Nn0.AQK0e7KoA-PoJnMICGST1RizQtd52TFPSmGapucaho0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b70d9c9c7b186d831b8ca09cd5f48408"},"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/6da5c096-cd74-40be-8ed2-041241b39b9e/websocket 200 23ms","method":"POST","requestID":"b70d9c9c7b186d831b8ca09cd5f48408","responseTime":23,"status":200,"url":"/devices/6da5c096-cd74-40be-8ed2-041241b39b9e/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:34:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6da5c096-cd74-40be-8ed2-041241b39b9e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.030","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b70d9c9c7b186d831b8ca09cd5f48408"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6da5c096-cd74-40be-8ed2-041241b39b9e' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5Nn0.AQK0e7KoA-PoJnMICGST1RizQtd52TFPSmGapucaho0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7d256296e076079f12f64bbf82b329aa","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:56Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.088791,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/43024f7b-6dcf-4709-aadc-9cfe07affaac","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/43024f7b-6dcf-4709-aadc-9cfe07affaac","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445696,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5Nn0.AQK0e7KoA-PoJnMICGST1RizQtd52TFPSmGapucaho0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d256296e076079f12f64bbf82b329aa"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43024f7b-6dcf-4709-aadc-9cfe07affaac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43024f7b-6dcf-4709-aadc-9cfe07affaac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:54.352482929Z"}]},"request_id":"ed087551-6eaf-43ed-97e3-75e7550c064a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445696.456195} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d256296e076079f12f64bbf82b329aa"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/43024f7b-6dcf-4709-aadc-9cfe07affaac? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7d256296e076079f12f64bbf82b329aa"} device-1 | {"level":"info","message":"GET /devices/43024f7b-6dcf-4709-aadc-9cfe07affaac? 200 17ms","method":"GET","requestID":"7d256296e076079f12f64bbf82b329aa","responseTime":17,"status":200,"url":"/devices/43024f7b-6dcf-4709-aadc-9cfe07affaac?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5Nn0.AQK0e7KoA-PoJnMICGST1RizQtd52TFPSmGapucaho0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"feb96d721d7781bf9688f3c602de8233","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:56Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.677908,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6da5c096-cd74-40be-8ed2-041241b39b9e","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/6da5c096-cd74-40be-8ed2-041241b39b9e","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445696,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5Nn0.AQK0e7KoA-PoJnMICGST1RizQtd52TFPSmGapucaho0"} 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":"feb96d721d7781bf9688f3c602de8233"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6da5c096-cd74-40be-8ed2-041241b39b9e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6da5c096-cd74-40be-8ed2-041241b39b9e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:54.397464050Z"}]},"request_id":"6964a3b4-4b23-4045-af76-2a50dca49ecd","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445696.4787347} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"feb96d721d7781bf9688f3c602de8233"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6da5c096-cd74-40be-8ed2-041241b39b9e? 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":"feb96d721d7781bf9688f3c602de8233"} device-1 | {"level":"info","message":"GET /devices/6da5c096-cd74-40be-8ed2-041241b39b9e? 200 16ms","method":"GET","requestID":"feb96d721d7781bf9688f3c602de8233","responseTime":16,"status":200,"url":"/devices/6da5c096-cd74-40be-8ed2-041241b39b9e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5Nn0.AQK0e7KoA-PoJnMICGST1RizQtd52TFPSmGapucaho0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c0b57a003a9fa971a4d4712caa6f606a","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:58630","level":"info","msg":"Received request.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:56Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.127907,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445696,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5Nn0.AQK0e7KoA-PoJnMICGST1RizQtd52TFPSmGapucaho0"} 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":"c0b57a003a9fa971a4d4712caa6f606a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8341099c-a29b-49d3-a032-6a27afbf8baf"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8341099c-a29b-49d3-a032-6a27afbf8baf"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8341099c-a29b-49d3-a032-6a27afbf8baf"},"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:58630","level":"info","msg":"Received request.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:56Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.905309,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/43024f7b-6dcf-4709-aadc-9cfe07affaac","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/43024f7b-6dcf-4709-aadc-9cfe07affaac","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445696,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5Nn0.AQK0e7KoA-PoJnMICGST1RizQtd52TFPSmGapucaho0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dd7b9af0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:36626","level":"info","msg":"Received request.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:56Z"} authorization-1 | {"client_addr":"127.0.0.1:36626","level":"info","msg":"Sent response.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.940951,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6da5c096-cd74-40be-8ed2-041241b39b9e","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/6da5c096-cd74-40be-8ed2-041241b39b9e","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445696,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5Nn0.AQK0e7KoA-PoJnMICGST1RizQtd52TFPSmGapucaho0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dd7be910-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43024f7b-6dcf-4709-aadc-9cfe07affaac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43024f7b-6dcf-4709-aadc-9cfe07affaac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:54.352482929Z"}]},"request_id":"4f43e34c-1ebb-4277-bd52-fc669d50ab54","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445696.5557048} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dd7b9af0-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6da5c096-cd74-40be-8ed2-041241b39b9e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6da5c096-cd74-40be-8ed2-041241b39b9e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:54.397464050Z"}]},"request_id":"96dfb013-48f8-430b-9383-c7e0ec244960","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445696.5570168} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dd7be910-3d2e-11ef-b932-e1799b48160b"},"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/43024f7b-6dcf-4709-aadc-9cfe07affaac? 200 22ms","method":"GET","requestID":"dd7b9af0-3d2e-11ef-b932-e1799b48160b","responseTime":22,"status":200,"url":"/devices/43024f7b-6dcf-4709-aadc-9cfe07affaac?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/6da5c096-cd74-40be-8ed2-041241b39b9e? 200 21ms","method":"GET","requestID":"dd7be910-3d2e-11ef-b932-e1799b48160b","responseTime":21,"status":200,"url":"/devices/6da5c096-cd74-40be-8ed2-041241b39b9e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8341099c-a29b-49d3-a032-6a27afbf8baf"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8341099c-a29b-49d3-a032-6a27afbf8baf"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8341099c-a29b-49d3-a032-6a27afbf8baf"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8341099c-a29b-49d3-a032-6a27afbf8baf"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8341099c-a29b-49d3-a032-6a27afbf8baf"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8341099c-a29b-49d3-a032-6a27afbf8baf"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8341099c-a29b-49d3-a032-6a27afbf8baf"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8341099c-a29b-49d3-a032-6a27afbf8baf"},"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/8341099c-a29b-49d3-a032-6a27afbf8baf"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:56Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.539439,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:56Z"} authorization-1 | {"client_addr":"127.0.0.1:36626","level":"info","msg":"Received request.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/43024f7b-6dcf-4709-aadc-9cfe07affaac","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/43024f7b-6dcf-4709-aadc-9cfe07affaac","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445696,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5Nn0.AQK0e7KoA-PoJnMICGST1RizQtd52TFPSmGapucaho0"} 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":"dd87cff0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:36626","level":"info","msg":"Sent response.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.038133,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6da5c096-cd74-40be-8ed2-041241b39b9e","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/6da5c096-cd74-40be-8ed2-041241b39b9e","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445696,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5Nn0.AQK0e7KoA-PoJnMICGST1RizQtd52TFPSmGapucaho0"} 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":"dd884520-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:56Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.93356,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:56Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43024f7b-6dcf-4709-aadc-9cfe07affaac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8087f57c-6d02-4669-8fd7-2a328dfe4e44","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445696.6373312} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/43024f7b-6dcf-4709-aadc-9cfe07affaac","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/43024f7b-6dcf-4709-aadc-9cfe07affaac","object_type":"device","rebac_allow":false,"scope_allow":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":"dd889340-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43024f7b-6dcf-4709-aadc-9cfe07affaac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43024f7b-6dcf-4709-aadc-9cfe07affaac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:54.352482929Z"}]},"request_id":"ab488dc4-2dfc-428b-a1fa-b654851885fc","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445696.640554} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/43024f7b-6dcf-4709-aadc-9cfe07affaac/signaling 200 18ms","method":"POST","requestID":"dd889340-3d2e-11ef-b932-e1799b48160b","responseTime":18,"status":200,"url":"/devices/43024f7b-6dcf-4709-aadc-9cfe07affaac/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":"dd87cff0-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6da5c096-cd74-40be-8ed2-041241b39b9e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6da5c096-cd74-40be-8ed2-041241b39b9e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:54.397464050Z"}]},"request_id":"ff3d6716-c2bb-44cb-9065-3a9cd0329dc7","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445696.6456103} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dd884520-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/43024f7b-6dcf-4709-aadc-9cfe07affaac? 200 32ms","method":"GET","requestID":"dd87cff0-3d2e-11ef-b932-e1799b48160b","responseTime":32,"status":200,"url":"/devices/43024f7b-6dcf-4709-aadc-9cfe07affaac?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/6da5c096-cd74-40be-8ed2-041241b39b9e? 200 30ms","method":"GET","requestID":"dd884520-3d2e-11ef-b932-e1799b48160b","responseTime":30,"status":200,"url":"/devices/6da5c096-cd74-40be-8ed2-041241b39b9e?"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:56Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6da5c096-cd74-40be-8ed2-041241b39b9e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"70ac0109-bf59-4b3d-b20a-efd7404d3ea6","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445696.656556} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8341099c-a29b-49d3-a032-6a27afbf8baf#owner@http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8341099c-a29b-49d3-a032-6a27afbf8baf","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"b20e260a-1364-46bf-a542-07644c1138f5","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445696.6570048} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.914225,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6da5c096-cd74-40be-8ed2-041241b39b9e","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6da5c096-cd74-40be-8ed2-041241b39b9e","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":"dd8bc790-3d2e-11ef-b932-e1799b48160b"},"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":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3f9847a2-b1e6-42e2-8a50-1e637d6e6fab","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445696.6581845} 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":"c0b57a003a9fa971a4d4712caa6f606a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":23}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:56Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6da5c096-cd74-40be-8ed2-041241b39b9e/signaling 200 14ms","method":"POST","requestID":"dd8bc790-3d2e-11ef-b932-e1799b48160b","responseTime":14,"status":200,"url":"/devices/6da5c096-cd74-40be-8ed2-041241b39b9e/signaling"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43024f7b-6dcf-4709-aadc-9cfe07affaac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"012637e8-3582-4a09-8172-1cccfd85b539","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445696.6644704} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.815356,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/43024f7b-6dcf-4709-aadc-9cfe07affaac","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/43024f7b-6dcf-4709-aadc-9cfe07affaac","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dd8d4e30-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/8341099c-a29b-49d3-a032-6a27afbf8baf","user":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 176ms","method":"POST","requestID":"c0b57a003a9fa971a4d4712caa6f606a","responseTime":176,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"08/Jul/2024:13:34:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.182","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c0b57a003a9fa971a4d4712caa6f606a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/43024f7b-6dcf-4709-aadc-9cfe07affaac/signaling 200 10ms","method":"POST","requestID":"dd8d4e30-3d2e-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/43024f7b-6dcf-4709-aadc-9cfe07affaac/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5Nn0.AQK0e7KoA-PoJnMICGST1RizQtd52TFPSmGapucaho0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cf9933a87d6e8d119a69956ca2c46c96","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:56Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6da5c096-cd74-40be-8ed2-041241b39b9e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6a183803-a22e-4479-9aee-51fa821ff4fc","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445696.6770856} authorization-1 | {"client_addr":"127.0.0.1:36626","level":"info","msg":"Received request.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:56Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.687165,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6da5c096-cd74-40be-8ed2-041241b39b9e","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6da5c096-cd74-40be-8ed2-041241b39b9e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dd8f4a00-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:36626","level":"info","msg":"Sent response.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.791842,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/43024f7b-6dcf-4709-aadc-9cfe07affaac","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/43024f7b-6dcf-4709-aadc-9cfe07affaac","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445696,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5Nn0.AQK0e7KoA-PoJnMICGST1RizQtd52TFPSmGapucaho0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cf9933a87d6e8d119a69956ca2c46c96"},"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/6da5c096-cd74-40be-8ed2-041241b39b9e/signaling 200 11ms","method":"POST","requestID":"dd8f4a00-3d2e-11ef-b932-e1799b48160b","responseTime":11,"status":200,"url":"/devices/6da5c096-cd74-40be-8ed2-041241b39b9e/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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43024f7b-6dcf-4709-aadc-9cfe07affaac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43024f7b-6dcf-4709-aadc-9cfe07affaac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:54.352482929Z"}]},"request_id":"98650b13-108c-4141-96b4-91c59de41180","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445696.6838567} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8341099c-a29b-49d3-a032-6a27afbf8baf"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8341099c-a29b-49d3-a032-6a27afbf8baf"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"13021fb7-cbcd-4175-88f8-7f73520ae555"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"c4cb76a3-c72a-4386-a2db-011c14d21336"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"e6d91594-cb04-4d4b-9701-02b17ce0a7bf"}]},"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/43024f7b-6dcf-4709-aadc-9cfe07affaac"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/6da5c096-cd74-40be-8ed2-041241b39b9e"}],"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":"cf9933a87d6e8d119a69956ca2c46c96"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:56Z"} gateway-1 | {"time_local":"08/Jul/2024:13:34:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/43024f7b-6dcf-4709-aadc-9cfe07affaac? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cf9933a87d6e8d119a69956ca2c46c96"} device-1 | {"level":"info","message":"GET /devices/43024f7b-6dcf-4709-aadc-9cfe07affaac? 200 16ms","method":"GET","requestID":"cf9933a87d6e8d119a69956ca2c46c96","responseTime":16,"status":200,"url":"/devices/43024f7b-6dcf-4709-aadc-9cfe07affaac?"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.882746,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445696,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5Nn0.AQK0e7KoA-PoJnMICGST1RizQtd52TFPSmGapucaho0"} 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":"dd9193f0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5Nn0.AQK0e7KoA-PoJnMICGST1RizQtd52TFPSmGapucaho0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f294db9d30ff73cf82bdd8bd5bb1db73","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:56Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.809793,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6da5c096-cd74-40be-8ed2-041241b39b9e","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/6da5c096-cd74-40be-8ed2-041241b39b9e","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445696,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5Nn0.AQK0e7KoA-PoJnMICGST1RizQtd52TFPSmGapucaho0"} 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":"f294db9d30ff73cf82bdd8bd5bb1db73"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","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%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"487186fc-9f01-4d99-90d2-3d0ce138612d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445696.7010646} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b781da40-d9f9-47da-ac99-86894cfe4ed7","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445696.7013729} 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":"dd9193f0-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6da5c096-cd74-40be-8ed2-041241b39b9e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6da5c096-cd74-40be-8ed2-041241b39b9e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:54.397464050Z"}]},"request_id":"744f102e-0fa6-407d-8cdb-91dd3f534929","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445696.708324} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f294db9d30ff73cf82bdd8bd5bb1db73"},"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/662b7b2a-075e-4472-99f0-8807e37e2bb5'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/662b7b2a-075e-4472-99f0-8807e37e2bb5'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 32ms","method":"POST","requestID":"dd9193f0-3d2e-11ef-b932-e1799b48160b","responseTime":32,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6da5c096-cd74-40be-8ed2-041241b39b9e? 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":"f294db9d30ff73cf82bdd8bd5bb1db73"} device-1 | {"level":"info","message":"GET /devices/6da5c096-cd74-40be-8ed2-041241b39b9e? 200 24ms","method":"GET","requestID":"f294db9d30ff73cf82bdd8bd5bb1db73","responseTime":24,"status":200,"url":"/devices/6da5c096-cd74-40be-8ed2-041241b39b9e?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8341099c-a29b-49d3-a032-6a27afbf8baf"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:56Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43024f7b-6dcf-4709-aadc-9cfe07affaac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5282f02d-a6a3-421a-a184-08c14e09a848","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445696.7521162} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.649299,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/43024f7b-6dcf-4709-aadc-9cfe07affaac","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/43024f7b-6dcf-4709-aadc-9cfe07affaac","object_type":"device","rebac_allow":false,"scope_allow":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":"dd9abbb0-3d2e-11ef-b932-e1799b48160b"},"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/43024f7b-6dcf-4709-aadc-9cfe07affaac/signaling 200 10ms","method":"POST","requestID":"dd9abbb0-3d2e-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/43024f7b-6dcf-4709-aadc-9cfe07affaac/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:56Z"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/6da5c096-cd74-40be-8ed2-041241b39b9e'"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6da5c096-cd74-40be-8ed2-041241b39b9e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0783d3aa-0aec-4fe7-9e33-2c34be4c3a99","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445696.7651854} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.11941,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6da5c096-cd74-40be-8ed2-041241b39b9e","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6da5c096-cd74-40be-8ed2-041241b39b9e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dd9c9070-3d2e-11ef-b932-e1799b48160b"},"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/6da5c096-cd74-40be-8ed2-041241b39b9e/signaling 200 10ms","method":"POST","requestID":"dd9c9070-3d2e-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/6da5c096-cd74-40be-8ed2-041241b39b9e/signaling"} device-1 | {"data":{"peerconnection":"662b7b2a-075e-4472-99f0-8807e37e2bb5","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/662b7b2a-075e-4472-99f0-8807e37e2bb5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"662b7b2a-075e-4472-99f0-8807e37e2bb5","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3cf8f71db6f8476ad8c20352f87c5981","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/43024f7b-6dcf-4709-aadc-9cfe07affaac"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/6da5c096-cd74-40be-8ed2-041241b39b9e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/662b7b2a-075e-4472-99f0-8807e37e2bb5"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"3cf8f71db6f8476ad8c20352f87c5981","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:34:58 +0000","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":"3cf8f71db6f8476ad8c20352f87c5981"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/6da5c096-cd74-40be-8ed2-041241b39b9e'"} device-1 | {"data":{"peerconnection":"662b7b2a-075e-4472-99f0-8807e37e2bb5","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/6da5c096-cd74-40be-8ed2-041241b39b9e'"} device-1 | {"data":{"peerconnection":"662b7b2a-075e-4472-99f0-8807e37e2bb5","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/662b7b2a-075e-4472-99f0-8807e37e2bb5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"662b7b2a-075e-4472-99f0-8807e37e2bb5","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"76ea69b4903ea61946fc713026f98df2","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/43024f7b-6dcf-4709-aadc-9cfe07affaac"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6da5c096-cd74-40be-8ed2-041241b39b9e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/662b7b2a-075e-4472-99f0-8807e37e2bb5"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:59Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F662b7b2a-075e-4472-99f0-8807e37e2bb5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"81badd9f-42b5-42aa-9bc0-ad07b943bdfa","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445699.0127466} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.674873,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/662b7b2a-075e-4472-99f0-8807e37e2bb5","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/662b7b2a-075e-4472-99f0-8807e37e2bb5","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":"def346d0-3d2e-11ef-b932-e1799b48160b"},"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/662b7b2a-075e-4472-99f0-8807e37e2bb5 200 14ms","method":"GET","requestID":"def346d0-3d2e-11ef-b932-e1799b48160b","responseTime":14,"status":200,"url":"/peerconnections/662b7b2a-075e-4472-99f0-8807e37e2bb5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 48ms","method":"POST","requestID":"76ea69b4903ea61946fc713026f98df2","responseTime":48,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:34:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch","requestID":"76ea69b4903ea61946fc713026f98df2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:59Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43024f7b-6dcf-4709-aadc-9cfe07affaac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"65daf197-fcf0-4105-935b-86d79e4aaf47","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445699.0531769} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.938987,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/43024f7b-6dcf-4709-aadc-9cfe07affaac","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/43024f7b-6dcf-4709-aadc-9cfe07affaac","object_type":"device","rebac_allow":false,"scope_allow":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":"def96150-3d2e-11ef-b932-e1799b48160b"},"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/43024f7b-6dcf-4709-aadc-9cfe07affaac/signaling 200 15ms","method":"POST","requestID":"def96150-3d2e-11ef-b932-e1799b48160b","responseTime":15,"status":200,"url":"/devices/43024f7b-6dcf-4709-aadc-9cfe07affaac/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:59Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6da5c096-cd74-40be-8ed2-041241b39b9e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b6376c86-884f-4a65-96cd-72eccf0ecd34","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445699.0705175} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.729251,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6da5c096-cd74-40be-8ed2-041241b39b9e","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6da5c096-cd74-40be-8ed2-041241b39b9e","object_type":"device","rebac_allow":false,"scope_allow":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":"defc2070-3d2e-11ef-b932-e1799b48160b"},"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/6da5c096-cd74-40be-8ed2-041241b39b9e/signaling 200 14ms","method":"POST","requestID":"defc2070-3d2e-11ef-b932-e1799b48160b","responseTime":14,"status":200,"url":"/devices/6da5c096-cd74-40be-8ed2-041241b39b9e/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5OX0.wgAMwWkTFwyw_h3LcKDFNnL2Jakw46RO2xRjCKOXU_0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"647823b4de90f9aab97b977d314ab341","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8341099c-a29b-49d3-a032-6a27afbf8baf"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:59Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.269318,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8341099c-a29b-49d3-a032-6a27afbf8baf","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/8341099c-a29b-49d3-a032-6a27afbf8baf","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445699,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5OX0.wgAMwWkTFwyw_h3LcKDFNnL2Jakw46RO2xRjCKOXU_0"} 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":"647823b4de90f9aab97b977d314ab341"},"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/8341099c-a29b-49d3-a032-6a27afbf8baf"} gateway-1 | {"time_local":"08/Jul/2024:13:34:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8341099c-a29b-49d3-a032-6a27afbf8baf HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"647823b4de90f9aab97b977d314ab341"} experiment-1 | {"level":"info","message":"GET /experiments/8341099c-a29b-49d3-a032-6a27afbf8baf 200 17ms","method":"GET","requestID":"647823b4de90f9aab97b977d314ab341","responseTime":17,"status":200,"url":"/experiments/8341099c-a29b-49d3-a032-6a27afbf8baf"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5OX0.wgAMwWkTFwyw_h3LcKDFNnL2Jakw46RO2xRjCKOXU_0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d2338edd7c6a0411b364ea6b7e3e270d","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/8341099c-a29b-49d3-a032-6a27afbf8baf"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:59Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.226945,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:59Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8341099c-a29b-49d3-a032-6a27afbf8baf","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/8341099c-a29b-49d3-a032-6a27afbf8baf","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445699,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5OX0.wgAMwWkTFwyw_h3LcKDFNnL2Jakw46RO2xRjCKOXU_0"} 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":"d2338edd7c6a0411b364ea6b7e3e270d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8341099c-a29b-49d3-a032-6a27afbf8baf"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:59Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.297642,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:59Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/662b7b2a-075e-4472-99f0-8807e37e2bb5","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:http://localhost/peerconnections/662b7b2a-075e-4472-99f0-8807e37e2bb5","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445699,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5OX0.wgAMwWkTFwyw_h3LcKDFNnL2Jakw46RO2xRjCKOXU_0"} 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":"df15c2f0-3d2e-11ef-b932-e1799b48160b"},"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/662b7b2a-075e-4472-99f0-8807e37e2bb5' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/662b7b2a-075e-4472-99f0-8807e37e2bb5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"662b7b2a-075e-4472-99f0-8807e37e2bb5","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c176454942fe5b18d81c01997b3fb565","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F662b7b2a-075e-4472-99f0-8807e37e2bb5': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F662b7b2a-075e-4472-99f0-8807e37e2bb5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"cd04f04d-1d4f-4cc5-a07a-26f0c0bc7b93","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445699.2594905} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"173efca9-06e8-484a-bdd0-0dcab5a81cf3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445699.260017} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/43024f7b-6dcf-4709-aadc-9cfe07affaac"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6da5c096-cd74-40be-8ed2-041241b39b9e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/662b7b2a-075e-4472-99f0-8807e37e2bb5"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"290032f7fe2e9f900bd079ff99691d73","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/43024f7b-6dcf-4709-aadc-9cfe07affaac"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6da5c096-cd74-40be-8ed2-041241b39b9e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/662b7b2a-075e-4472-99f0-8807e37e2bb5"}}},"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":"df15c2f0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} device-1 | {"data":{"peerconnection":"662b7b2a-075e-4472-99f0-8807e37e2bb5","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/662b7b2a-075e-4472-99f0-8807e37e2bb5 204 52ms","method":"DELETE","requestID":"df15c2f0-3d2e-11ef-b932-e1799b48160b","responseTime":52,"status":204,"url":"/peerconnections/662b7b2a-075e-4472-99f0-8807e37e2bb5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8341099c-a29b-49d3-a032-6a27afbf8baf"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:59Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F43024f7b-6dcf-4709-aadc-9cfe07affaac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1dbf5f4d-4081-4300-9cbb-16565de3bcb2","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445699.3181825} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.427988,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/43024f7b-6dcf-4709-aadc-9cfe07affaac","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/43024f7b-6dcf-4709-aadc-9cfe07affaac","object_type":"device","rebac_allow":false,"scope_allow":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":"df21d0e0-3d2e-11ef-b932-e1799b48160b"},"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":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8341099c-a29b-49d3-a032-6a27afbf8baf': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8341099c-a29b-49d3-a032-6a27afbf8baf","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"a93e943f-e6da-4cc9-8a80-056023753d21","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445699.3252616} device-1 | {"level":"info","message":"POST /devices/43024f7b-6dcf-4709-aadc-9cfe07affaac/signaling 200 15ms","method":"POST","requestID":"df21d0e0-3d2e-11ef-b932-e1799b48160b","responseTime":15,"status":200,"url":"/devices/43024f7b-6dcf-4709-aadc-9cfe07affaac/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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"09942548-f75f-4846-97f2-4892a8366b83","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445699.325876} 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":"d2338edd7c6a0411b364ea6b7e3e270d"},"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:58630","level":"info","msg":"Received request.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:59Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6da5c096-cd74-40be-8ed2-041241b39b9e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9e974606-9d29-413c-83ee-68885d8fedcc","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445699.335177} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.574203,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6da5c096-cd74-40be-8ed2-041241b39b9e","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6da5c096-cd74-40be-8ed2-041241b39b9e","object_type":"device","rebac_allow":false,"scope_allow":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":"df249000-3d2e-11ef-b932-e1799b48160b"},"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/6da5c096-cd74-40be-8ed2-041241b39b9e/signaling 200 14ms","method":"POST","requestID":"df249000-3d2e-11ef-b932-e1799b48160b","responseTime":14,"status":200,"url":"/devices/6da5c096-cd74-40be-8ed2-041241b39b9e/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/8341099c-a29b-49d3-a032-6a27afbf8baf"} gateway-1 | {"time_local":"08/Jul/2024:13:34:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/8341099c-a29b-49d3-a032-6a27afbf8baf 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":"d2338edd7c6a0411b364ea6b7e3e270d"} gateway-1 | {"time_local":"08/Jul/2024:13:34:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2990","request_time":"4.447","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"095a19fb9f8ba6e0db597087c92d1533"} experiment-1 | {"level":"info","message":"DELETE /experiments/8341099c-a29b-49d3-a032-6a27afbf8baf 204 183ms","method":"DELETE","requestID":"d2338edd7c6a0411b364ea6b7e3e270d","responseTime":183,"status":204,"url":"/experiments/8341099c-a29b-49d3-a032-6a27afbf8baf"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 138ms","method":"POST","requestID":"c176454942fe5b18d81c01997b3fb565","responseTime":138,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:34:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.144","http_referrer":"","http_user_agent":"node-fetch","requestID":"c176454942fe5b18d81c01997b3fb565"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 137ms","method":"POST","requestID":"290032f7fe2e9f900bd079ff99691d73","responseTime":137,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:34:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.145","http_referrer":"","http_user_agent":"node-fetch","requestID":"290032f7fe2e9f900bd079ff99691d73"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5OX0.wgAMwWkTFwyw_h3LcKDFNnL2Jakw46RO2xRjCKOXU_0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8304669cc7f3d34ffe6feb71763989dd","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:59Z"} gateway-1 | {"time_local":"08/Jul/2024:13:34:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2501","request_time":"2.985","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c29295a32cdbc9570d73bff9f75f308d"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.771236,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445699,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5OX0.wgAMwWkTFwyw_h3LcKDFNnL2Jakw46RO2xRjCKOXU_0"} 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":"8304669cc7f3d34ffe6feb71763989dd"},"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/43024f7b-6dcf-4709-aadc-9cfe07affaac' 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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7158f9e-6cb6-4fe0-baac-03fbc5de3454","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"32331cb7-ab00-4416-9326-307f1c709d83","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445699.4275491} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8304669cc7f3d34ffe6feb71763989dd"},"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/6da5c096-cd74-40be-8ed2-041241b39b9e' 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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"23b2a8c9-842d-46ee-8ac2-5be220f7b760","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445699.4332132} 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":"8304669cc7f3d34ffe6feb71763989dd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7158f9e-6cb6-4fe0-baac-03fbc5de3454","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"84856d72-c4b3-4006-9e10-2c9d6c0e5f85","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445699.4474268} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e38bfb41-b1b9-42d5-ae3b-d40553146d53","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445699.4475725} 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":"8304669cc7f3d34ffe6feb71763989dd"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7158f9e-6cb6-4fe0-baac-03fbc5de3454","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7158f9e-6cb6-4fe0-baac-03fbc5de3454","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:59.447410595Z"}]},"request_id":"ee032c7e-5fa2-41ae-ba66-e5625b8db4ab","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445699.4519715} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8304669cc7f3d34ffe6feb71763989dd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8304669cc7f3d34ffe6feb71763989dd"} device-1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"8304669cc7f3d34ffe6feb71763989dd","responseTime":50,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5OX0.wgAMwWkTFwyw_h3LcKDFNnL2Jakw46RO2xRjCKOXU_0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f0a41b15644cf8678e64c35208e88c6e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:34:59Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.027364,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:34:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445699,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTY5OX0.wgAMwWkTFwyw_h3LcKDFNnL2Jakw46RO2xRjCKOXU_0"} 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":"f0a41b15644cf8678e64c35208e88c6e"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60a19836-779e-473b-8612-7299925ce783","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b4490664-5251-4c24-91d4-fc9cb7096335","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445699.4768178} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f0a41b15644cf8678e64c35208e88c6e"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ec3ad908-cbc1-40cb-9edb-0465069dcb5d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445699.4816618} 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":"f0a41b15644cf8678e64c35208e88c6e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60a19836-779e-473b-8612-7299925ce783","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"082e6de8-b9e4-4e74-b1bd-20cf5a4d1adc","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445699.492375} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ea3d3160-5e07-4f1d-8dbf-771ccba0bba2","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445699.492509} 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":"f0a41b15644cf8678e64c35208e88c6e"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60a19836-779e-473b-8612-7299925ce783","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60a19836-779e-473b-8612-7299925ce783","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:59.492355825Z"}]},"request_id":"e7b6a9db-a8f3-471f-b048-dbd252a6a6fb","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445699.4964306} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f0a41b15644cf8678e64c35208e88c6e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:34:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f0a41b15644cf8678e64c35208e88c6e"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"f0a41b15644cf8678e64c35208e88c6e","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"42f066f8dd530dce85bb3ec3ed963f83","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:35:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454/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":"42f066f8dd530dce85bb3ec3ed963f83"} device-1 | {"level":"info","message":"OPTIONS /devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454/websocket 200 1ms","method":"OPTIONS","requestID":"42f066f8dd530dce85bb3ec3ed963f83","responseTime":1,"status":200,"url":"/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwMX0.HVqlARmDVMmUubPXme-5fkuo3MjuqBAI5q4NmnlciqI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"79038d607a6c1ddd44011fc83a897931","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.389374,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445701,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwMX0.HVqlARmDVMmUubPXme-5fkuo3MjuqBAI5q4NmnlciqI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"79038d607a6c1ddd44011fc83a897931"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3001e598b01532170297cd54b5ead637","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:35:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/60a19836-779e-473b-8612-7299925ce783/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.006","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3001e598b01532170297cd54b5ead637"} device-1 | {"level":"info","message":"OPTIONS /devices/60a19836-779e-473b-8612-7299925ce783/websocket 200 1ms","method":"OPTIONS","requestID":"3001e598b01532170297cd54b5ead637","responseTime":1,"status":200,"url":"/devices/60a19836-779e-473b-8612-7299925ce783/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwMX0.HVqlARmDVMmUubPXme-5fkuo3MjuqBAI5q4NmnlciqI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"29bbee0b9e5b930c41c0eff0be5034bb","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454/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":"79038d607a6c1ddd44011fc83a897931"} device-1 | {"level":"info","message":"POST /devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454/websocket 200 31ms","method":"POST","requestID":"79038d607a6c1ddd44011fc83a897931","responseTime":31,"status":200,"url":"/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454/websocket"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.317178,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/60a19836-779e-473b-8612-7299925ce783","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/60a19836-779e-473b-8612-7299925ce783","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445701,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwMX0.HVqlARmDVMmUubPXme-5fkuo3MjuqBAI5q4NmnlciqI"} 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":"29bbee0b9e5b930c41c0eff0be5034bb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/60a19836-779e-473b-8612-7299925ce783/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":"29bbee0b9e5b930c41c0eff0be5034bb"} device-1 | {"level":"info","message":"POST /devices/60a19836-779e-473b-8612-7299925ce783/websocket 200 25ms","method":"POST","requestID":"29bbee0b9e5b930c41c0eff0be5034bb","responseTime":25,"status":200,"url":"/devices/60a19836-779e-473b-8612-7299925ce783/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/60a19836-779e-473b-8612-7299925ce783' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwMX0.HVqlARmDVMmUubPXme-5fkuo3MjuqBAI5q4NmnlciqI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9235603d7302d2d230810bea3d65bb5f","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.569888,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445701,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwMX0.HVqlARmDVMmUubPXme-5fkuo3MjuqBAI5q4NmnlciqI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9235603d7302d2d230810bea3d65bb5f"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7158f9e-6cb6-4fe0-baac-03fbc5de3454","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7158f9e-6cb6-4fe0-baac-03fbc5de3454","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:59.447410595Z"}]},"request_id":"59c1b9a0-c032-4e25-9605-e2b5fddb2149","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445701.5840774} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9235603d7302d2d230810bea3d65bb5f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454? 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":"9235603d7302d2d230810bea3d65bb5f"} device-1 | {"level":"info","message":"GET /devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454? 200 20ms","method":"GET","requestID":"9235603d7302d2d230810bea3d65bb5f","responseTime":20,"status":200,"url":"/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwMX0.HVqlARmDVMmUubPXme-5fkuo3MjuqBAI5q4NmnlciqI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3b3c88ee5f6e2355a13519653920d867","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.517196,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/60a19836-779e-473b-8612-7299925ce783","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/60a19836-779e-473b-8612-7299925ce783","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445701,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwMX0.HVqlARmDVMmUubPXme-5fkuo3MjuqBAI5q4NmnlciqI"} 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":"3b3c88ee5f6e2355a13519653920d867"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60a19836-779e-473b-8612-7299925ce783","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60a19836-779e-473b-8612-7299925ce783","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:59.492355825Z"}]},"request_id":"0466525d-873c-4fcf-bf27-8c99fd119acd","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445701.6134403} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3b3c88ee5f6e2355a13519653920d867"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/60a19836-779e-473b-8612-7299925ce783? 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":"3b3c88ee5f6e2355a13519653920d867"} device-1 | {"level":"info","message":"GET /devices/60a19836-779e-473b-8612-7299925ce783? 200 20ms","method":"GET","requestID":"3b3c88ee5f6e2355a13519653920d867","responseTime":20,"status":200,"url":"/devices/60a19836-779e-473b-8612-7299925ce783?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwMX0.HVqlARmDVMmUubPXme-5fkuo3MjuqBAI5q4NmnlciqI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6fe1c1eb4603abb568f50d38301c45b9","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:58630","level":"info","msg":"Received request.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.144468,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445701,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwMX0.HVqlARmDVMmUubPXme-5fkuo3MjuqBAI5q4NmnlciqI"} 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":"6fe1c1eb4603abb568f50d38301c45b9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4"},"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:58630","level":"info","msg":"Received request.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.674103,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445701,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwMX0.HVqlARmDVMmUubPXme-5fkuo3MjuqBAI5q4NmnlciqI"} 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":"e08a3a80-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:46060","level":"info","msg":"Received request.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"client_addr":"127.0.0.1:46060","level":"info","msg":"Sent response.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.144161,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/60a19836-779e-473b-8612-7299925ce783","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/60a19836-779e-473b-8612-7299925ce783","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445701,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwMX0.HVqlARmDVMmUubPXme-5fkuo3MjuqBAI5q4NmnlciqI"} 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":"e08a88a0-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7158f9e-6cb6-4fe0-baac-03fbc5de3454","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7158f9e-6cb6-4fe0-baac-03fbc5de3454","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:59.447410595Z"}]},"request_id":"38ec4d28-890b-417c-9977-209036fc81ac","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445701.6811292} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e08a3a80-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60a19836-779e-473b-8612-7299925ce783","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60a19836-779e-473b-8612-7299925ce783","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:59.492355825Z"}]},"request_id":"78a529fa-a086-40eb-be0e-ad90a1c68518","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445701.6846888} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454? 200 13ms","method":"GET","requestID":"e08a3a80-3d2e-11ef-b932-e1799b48160b","responseTime":13,"status":200,"url":"/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e08a88a0-3d2e-11ef-b932-e1799b48160b"},"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/60a19836-779e-473b-8612-7299925ce783? 200 15ms","method":"GET","requestID":"e08a88a0-3d2e-11ef-b932-e1799b48160b","responseTime":15,"status":200,"url":"/devices/60a19836-779e-473b-8612-7299925ce783?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4"},"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/01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.978037,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"client_addr":"127.0.0.1:46060","level":"info","msg":"Received request.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445701,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwMX0.HVqlARmDVMmUubPXme-5fkuo3MjuqBAI5q4NmnlciqI"} 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":"e0949ac0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:46060","level":"info","msg":"Sent response.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.634944,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/60a19836-779e-473b-8612-7299925ce783","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/60a19836-779e-473b-8612-7299925ce783","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445701,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwMX0.HVqlARmDVMmUubPXme-5fkuo3MjuqBAI5q4NmnlciqI"} 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":"e094e8e0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7158f9e-6cb6-4fe0-baac-03fbc5de3454","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2a9032f1-4f9f-4c0b-9f0f-e99e697e0405","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445701.749213} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.408941,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e0950ff0-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7158f9e-6cb6-4fe0-baac-03fbc5de3454","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7158f9e-6cb6-4fe0-baac-03fbc5de3454","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:59.447410595Z"}]},"request_id":"90a21b1c-1b65-4938-aec5-43801636a1b6","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445701.7531817} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454/signaling 200 11ms","method":"POST","requestID":"e0950ff0-3d2e-11ef-b932-e1799b48160b","responseTime":11,"status":200,"url":"/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454/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":"e0949ac0-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60a19836-779e-473b-8612-7299925ce783","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60a19836-779e-473b-8612-7299925ce783","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:59.492355825Z"}]},"request_id":"5527798f-b075-481a-a451-b1bd5f1e6d0e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445701.7541697} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e094e8e0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:01Z"} device-1 | {"level":"info","message":"GET /devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454? 200 21ms","method":"GET","requestID":"e0949ac0-3d2e-11ef-b932-e1799b48160b","responseTime":21,"status":200,"url":"/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/60a19836-779e-473b-8612-7299925ce783? 200 20ms","method":"GET","requestID":"e094e8e0-3d2e-11ef-b932-e1799b48160b","responseTime":20,"status":200,"url":"/devices/60a19836-779e-473b-8612-7299925ce783?"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60a19836-779e-473b-8612-7299925ce783","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"890a2956-b72e-4d32-a1de-7ad3b18aadac","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445701.7631843} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.812962,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/60a19836-779e-473b-8612-7299925ce783","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/60a19836-779e-473b-8612-7299925ce783","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e09759e0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4#owner@http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"dd61b57f-ab85-4f8a-b5b3-6759adcc1154","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445701.7644196} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"68412d01-4342-4896-86ff-df73779b1a39","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445701.7646747} 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":"6fe1c1eb4603abb568f50d38301c45b9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/60a19836-779e-473b-8612-7299925ce783/signaling 200 10ms","method":"POST","requestID":"e09759e0-3d2e-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/60a19836-779e-473b-8612-7299925ce783/signaling"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7158f9e-6cb6-4fe0-baac-03fbc5de3454","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"46f23f28-b0d1-4cf2-ba08-c3a479f88c69","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445701.7710965} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.268988,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e0986b50-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4","user":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} experiment-1 | {"level":"info","message":"POST /experiments? 201 148ms","method":"POST","requestID":"6fe1c1eb4603abb568f50d38301c45b9","responseTime":148,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"08/Jul/2024:13:35:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"777","request_time":"0.155","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6fe1c1eb4603abb568f50d38301c45b9"} device-1 | {"level":"info","message":"POST /devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454/signaling 200 11ms","method":"POST","requestID":"e0986b50-3d2e-11ef-b932-e1799b48160b","responseTime":11,"status":200,"url":"/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwMX0.HVqlARmDVMmUubPXme-5fkuo3MjuqBAI5q4NmnlciqI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"91efc9dee9dfbf75dcabf98f9da133a9","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60a19836-779e-473b-8612-7299925ce783","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1ebab511-9858-4832-9d26-9084d7833120","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445701.7830687} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.364347,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"client_addr":"127.0.0.1:46060","level":"info","msg":"Received request.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/60a19836-779e-473b-8612-7299925ce783","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/60a19836-779e-473b-8612-7299925ce783","object_type":"device","rebac_allow":false,"scope_allow":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":"e09a6720-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:46060","level":"info","msg":"Sent response.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.723808,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445701,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwMX0.HVqlARmDVMmUubPXme-5fkuo3MjuqBAI5q4NmnlciqI"} 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":"91efc9dee9dfbf75dcabf98f9da133a9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/60a19836-779e-473b-8612-7299925ce783/signaling 200 10ms","method":"POST","requestID":"e09a6720-3d2e-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/60a19836-779e-473b-8612-7299925ce783/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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7158f9e-6cb6-4fe0-baac-03fbc5de3454","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7158f9e-6cb6-4fe0-baac-03fbc5de3454","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:59.447410595Z"}]},"request_id":"c6fdbb3a-e0a0-420e-b209-e7129693ba51","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445701.7892709} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"541c5a8f-adb6-4ce1-871f-42a700392964"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"84b34908-1b20-4855-81d4-725ee3a122f6"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"b52df6bb-3434-49f4-8b98-2fce606a359a"}]},"level":"info","message":"Built pairwise service configurations"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/60a19836-779e-473b-8612-7299925ce783"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454"}],"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":"91efc9dee9dfbf75dcabf98f9da133a9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454? 200 13ms","method":"GET","requestID":"91efc9dee9dfbf75dcabf98f9da133a9","responseTime":13,"status":200,"url":"/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454?"} gateway-1 | {"time_local":"08/Jul/2024:13:35:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454? 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":"91efc9dee9dfbf75dcabf98f9da133a9"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.232675,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445701,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwMX0.HVqlARmDVMmUubPXme-5fkuo3MjuqBAI5q4NmnlciqI"} 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":"e09c8a00-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwMX0.HVqlARmDVMmUubPXme-5fkuo3MjuqBAI5q4NmnlciqI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a8033714a92694942bfa86a47ca9fb99","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.041842,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/60a19836-779e-473b-8612-7299925ce783","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/60a19836-779e-473b-8612-7299925ce783","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445701,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwMX0.HVqlARmDVMmUubPXme-5fkuo3MjuqBAI5q4NmnlciqI"} 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":"a8033714a92694942bfa86a47ca9fb99"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","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%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"28848e99-a94a-4b8a-9844-ea2745265c66","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445701.8074353} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ced2e392-81e6-4ea2-bacc-2618767db0f2","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445701.807595} 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":"e09c8a00-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60a19836-779e-473b-8612-7299925ce783","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60a19836-779e-473b-8612-7299925ce783","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:34:59.492355825Z"}]},"request_id":"90e3492d-1a29-48a9-b9bd-d8221bcff55f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445701.8088212} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a8033714a92694942bfa86a47ca9fb99"},"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/60a19836-779e-473b-8612-7299925ce783? 200 22ms","method":"GET","requestID":"a8033714a92694942bfa86a47ca9fb99","responseTime":22,"status":200,"url":"/devices/60a19836-779e-473b-8612-7299925ce783?"} gateway-1 | {"time_local":"08/Jul/2024:13:35:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/60a19836-779e-473b-8612-7299925ce783? 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":"a8033714a92694942bfa86a47ca9fb99"} 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/625ea29f-88d3-4f36-b1ec-96e01fdd58d7'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/625ea29f-88d3-4f36-b1ec-96e01fdd58d7'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 32ms","method":"POST","requestID":"e09c8a00-3d2e-11ef-b932-e1799b48160b","responseTime":32,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7158f9e-6cb6-4fe0-baac-03fbc5de3454","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5a4e486e-88f3-427d-abf1-68a75c09c531","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445701.860451} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.398305,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e0a626f0-3d2e-11ef-b932-e1799b48160b"},"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/c7158f9e-6cb6-4fe0-baac-03fbc5de3454/signaling 200 17ms","method":"POST","requestID":"e0a626f0-3d2e-11ef-b932-e1799b48160b","responseTime":17,"status":200,"url":"/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60a19836-779e-473b-8612-7299925ce783","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3726321d-c845-44f5-905f-9e27e5dd7965","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445701.88262} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.161948,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/60a19836-779e-473b-8612-7299925ce783","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/60a19836-779e-473b-8612-7299925ce783","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e0a98250-3d2e-11ef-b932-e1799b48160b"},"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/60a19836-779e-473b-8612-7299925ce783/signaling 200 14ms","method":"POST","requestID":"e0a98250-3d2e-11ef-b932-e1799b48160b","responseTime":14,"status":200,"url":"/devices/60a19836-779e-473b-8612-7299925ce783/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/60a19836-779e-473b-8612-7299925ce783'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/60a19836-779e-473b-8612-7299925ce783'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/625ea29f-88d3-4f36-b1ec-96e01fdd58d7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"625ea29f-88d3-4f36-b1ec-96e01fdd58d7","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"df30b97d2c7a89dfa821202b98ee9f9a","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/60a19836-779e-473b-8612-7299925ce783"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/625ea29f-88d3-4f36-b1ec-96e01fdd58d7"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"df30b97d2c7a89dfa821202b98ee9f9a","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"df30b97d2c7a89dfa821202b98ee9f9a"} device-1 | {"data":{"peerconnection":"625ea29f-88d3-4f36-b1ec-96e01fdd58d7","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"625ea29f-88d3-4f36-b1ec-96e01fdd58d7","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/625ea29f-88d3-4f36-b1ec-96e01fdd58d7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"625ea29f-88d3-4f36-b1ec-96e01fdd58d7","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b6b5c49b9151962f202cdf40727c2653","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/60a19836-779e-473b-8612-7299925ce783"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/625ea29f-88d3-4f36-b1ec-96e01fdd58d7"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F625ea29f-88d3-4f36-b1ec-96e01fdd58d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"715eb236-6489-4dbc-88b1-457537fb0d88","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445701.9625993} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.99148,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/625ea29f-88d3-4f36-b1ec-96e01fdd58d7","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/625ea29f-88d3-4f36-b1ec-96e01fdd58d7","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":"e0b5b750-3d2e-11ef-b932-e1799b48160b"},"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/625ea29f-88d3-4f36-b1ec-96e01fdd58d7 200 10ms","method":"GET","requestID":"e0b5b750-3d2e-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/peerconnections/625ea29f-88d3-4f36-b1ec-96e01fdd58d7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 41ms","method":"POST","requestID":"b6b5c49b9151962f202cdf40727c2653","responseTime":41,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch","requestID":"b6b5c49b9151962f202cdf40727c2653"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60a19836-779e-473b-8612-7299925ce783","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"53cb8970-2c4d-43c7-a84a-fce7b07adb57","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445701.9975631} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.585718,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/60a19836-779e-473b-8612-7299925ce783","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/60a19836-779e-473b-8612-7299925ce783","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e0bb0e80-3d2e-11ef-b932-e1799b48160b"},"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/60a19836-779e-473b-8612-7299925ce783/signaling 200 10ms","method":"POST","requestID":"e0bb0e80-3d2e-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/60a19836-779e-473b-8612-7299925ce783/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:02Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7158f9e-6cb6-4fe0-baac-03fbc5de3454","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"97f6da2c-009a-4174-86ea-f31fd25eea44","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445702.0098388} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.559018,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e0bd0a50-3d2e-11ef-b932-e1799b48160b"},"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/c7158f9e-6cb6-4fe0-baac-03fbc5de3454/signaling 200 10ms","method":"POST","requestID":"e0bd0a50-3d2e-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwMn0.zS3VZe7v51HO-UEek_6hNlfsiqIWJBlgWMOmHkwYM1E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a18208b8a766ca2f5e8d9659d4ae77b6","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:02Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.05754,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445702,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwMn0.zS3VZe7v51HO-UEek_6hNlfsiqIWJBlgWMOmHkwYM1E"} 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":"a18208b8a766ca2f5e8d9659d4ae77b6"},"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/01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4"} gateway-1 | {"time_local":"08/Jul/2024:13:35:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4 HTTP/1.1","status": "200","body_bytes_sent":"850","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a18208b8a766ca2f5e8d9659d4ae77b6"} experiment-1 | {"level":"info","message":"GET /experiments/01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4 200 20ms","method":"GET","requestID":"a18208b8a766ca2f5e8d9659d4ae77b6","responseTime":20,"status":200,"url":"/experiments/01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwMn0.zS3VZe7v51HO-UEek_6hNlfsiqIWJBlgWMOmHkwYM1E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d8a7f2984628ac91d880d669d75405f0","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:02Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.388853,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:02Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445702,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwMn0.zS3VZe7v51HO-UEek_6hNlfsiqIWJBlgWMOmHkwYM1E"} 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":"d8a7f2984628ac91d880d669d75405f0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:02Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.337953,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:02Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/625ea29f-88d3-4f36-b1ec-96e01fdd58d7","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:http://localhost/peerconnections/625ea29f-88d3-4f36-b1ec-96e01fdd58d7","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445702,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwMn0.zS3VZe7v51HO-UEek_6hNlfsiqIWJBlgWMOmHkwYM1E"} 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":"e0de26e0-3d2e-11ef-b932-e1799b48160b"},"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/625ea29f-88d3-4f36-b1ec-96e01fdd58d7' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/625ea29f-88d3-4f36-b1ec-96e01fdd58d7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"625ea29f-88d3-4f36-b1ec-96e01fdd58d7","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F625ea29f-88d3-4f36-b1ec-96e01fdd58d7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F625ea29f-88d3-4f36-b1ec-96e01fdd58d7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"0cd48fcd-9ac7-4347-aaab-0c0b8fd5b4b1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445702.247139} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"57af3597-ecba-449f-bc5b-053ebc920157","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445702.2474606} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6b4e224a688b1c67d884e86be902b78a","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e0de26e0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/60a19836-779e-473b-8612-7299925ce783"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/625ea29f-88d3-4f36-b1ec-96e01fdd58d7"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f489e0d48a8f3e483844bd23d63a5bd5","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/60a19836-779e-473b-8612-7299925ce783"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/625ea29f-88d3-4f36-b1ec-96e01fdd58d7"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"625ea29f-88d3-4f36-b1ec-96e01fdd58d7","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/625ea29f-88d3-4f36-b1ec-96e01fdd58d7 204 46ms","method":"DELETE","requestID":"e0de26e0-3d2e-11ef-b932-e1799b48160b","responseTime":46,"status":204,"url":"/peerconnections/625ea29f-88d3-4f36-b1ec-96e01fdd58d7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:02Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60a19836-779e-473b-8612-7299925ce783","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b7dd002f-85cd-4449-9beb-6eaa046b1944","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445702.3036141} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.995264,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/60a19836-779e-473b-8612-7299925ce783","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/60a19836-779e-473b-8612-7299925ce783","object_type":"device","rebac_allow":false,"scope_allow":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":"e0e92360-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"03c06cb7-8f0d-4369-bd85-454317f121f4","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445702.310124} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/60a19836-779e-473b-8612-7299925ce783/signaling 200 17ms","method":"POST","requestID":"e0e92360-3d2e-11ef-b932-e1799b48160b","responseTime":17,"status":200,"url":"/devices/60a19836-779e-473b-8612-7299925ce783/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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1539b92a-7288-4759-87f3-4bb6806a2208","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445702.3106375} 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":"d8a7f2984628ac91d880d669d75405f0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":23}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:02Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7158f9e-6cb6-4fe0-baac-03fbc5de3454","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"93bddd66-509d-4c87-ace2-1bf421af148c","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445702.3236866} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.050895,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454","object_type":"device","rebac_allow":false,"scope_allow":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":"e0ec7ec0-3d2e-11ef-b932-e1799b48160b"},"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/c7158f9e-6cb6-4fe0-baac-03fbc5de3454/signaling 200 15ms","method":"POST","requestID":"e0ec7ec0-3d2e-11ef-b932-e1799b48160b","responseTime":15,"status":200,"url":"/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4"} gateway-1 | {"time_local":"08/Jul/2024:13:35:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4 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":"d8a7f2984628ac91d880d669d75405f0"} experiment-1 | {"level":"info","message":"DELETE /experiments/01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4 204 185ms","method":"DELETE","requestID":"d8a7f2984628ac91d880d669d75405f0","responseTime":185,"status":204,"url":"/experiments/01e6b1ca-ea15-4cfc-b8ce-a2c2d4f9a4d4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 144ms","method":"POST","requestID":"6b4e224a688b1c67d884e86be902b78a","responseTime":144,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.148","http_referrer":"","http_user_agent":"node-fetch","requestID":"6b4e224a688b1c67d884e86be902b78a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 143ms","method":"POST","requestID":"f489e0d48a8f3e483844bd23d63a5bd5","responseTime":143,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.148","http_referrer":"","http_user_agent":"node-fetch","requestID":"f489e0d48a8f3e483844bd23d63a5bd5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwMn0.zS3VZe7v51HO-UEek_6hNlfsiqIWJBlgWMOmHkwYM1E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"bb88fca9c0b946978ba1385f1635ebf3","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:13:35:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2629","request_time":"0.876","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b355a6b53b9963e1b1b0b70f648b7316"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:02Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.887629,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445702,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwMn0.zS3VZe7v51HO-UEek_6hNlfsiqIWJBlgWMOmHkwYM1E"} 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":"bb88fca9c0b946978ba1385f1635ebf3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} gateway-1 | {"time_local":"08/Jul/2024:13:35:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2631","request_time":"0.862","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8fabb9d86efb54c0c0cf69fb3bb21658"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c7158f9e-6cb6-4fe0-baac-03fbc5de3454' 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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b5a0f9c-788a-434a-8b26-50a495e42161","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"39f3a519-8ca3-4ee3-84c2-2a0b9718bc7b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445702.4219687} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bb88fca9c0b946978ba1385f1635ebf3"},"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/60a19836-779e-473b-8612-7299925ce783' 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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3a862a7a-80ce-4902-9a1d-59a8c2385bde","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445702.4278705} 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":"bb88fca9c0b946978ba1385f1635ebf3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b5a0f9c-788a-434a-8b26-50a495e42161","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"d154f980-950a-40af-8ee5-5a7783023593","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445702.4443467} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"70bca62e-3a59-4b85-b9b1-a6c65139922a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445702.4445438} 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":"bb88fca9c0b946978ba1385f1635ebf3"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b5a0f9c-788a-434a-8b26-50a495e42161","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b5a0f9c-788a-434a-8b26-50a495e42161","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:02.444326700Z"}]},"request_id":"51d13757-2e31-4237-9a2d-4defad05b2eb","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445702.4491625} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bb88fca9c0b946978ba1385f1635ebf3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bb88fca9c0b946978ba1385f1635ebf3"} device-1 | {"level":"info","message":"POST /devices? 201 53ms","method":"POST","requestID":"bb88fca9c0b946978ba1385f1635ebf3","responseTime":53,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwMn0.zS3VZe7v51HO-UEek_6hNlfsiqIWJBlgWMOmHkwYM1E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b79e07a8f96924667ea1433d3c77e924","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:02Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.803813,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445702,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwMn0.zS3VZe7v51HO-UEek_6hNlfsiqIWJBlgWMOmHkwYM1E"} 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":"b79e07a8f96924667ea1433d3c77e924"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4461a37c-5e6f-4f1b-8a26-7812e75df74c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1da8853c-1f64-4d47-8334-294a8fdebc94","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445702.4730244} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b79e07a8f96924667ea1433d3c77e924"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"13efc0a1-23cf-44a2-9052-838dcb7866fe","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445702.477554} 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":"b79e07a8f96924667ea1433d3c77e924"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4461a37c-5e6f-4f1b-8a26-7812e75df74c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"ade93f3f-03e8-48b8-b9f3-38d47f394768","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445702.4887254} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9eaf0616-5287-46ee-ae76-41e852faaa75","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445702.4888055} 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":"b79e07a8f96924667ea1433d3c77e924"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4461a37c-5e6f-4f1b-8a26-7812e75df74c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4461a37c-5e6f-4f1b-8a26-7812e75df74c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:02.488710252Z"}]},"request_id":"71329b1d-c643-4354-9ec9-1ed3b8924f4c","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445702.4933846} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b79e07a8f96924667ea1433d3c77e924"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b79e07a8f96924667ea1433d3c77e924"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"b79e07a8f96924667ea1433d3c77e924","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwMn0.zS3VZe7v51HO-UEek_6hNlfsiqIWJBlgWMOmHkwYM1E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6ff84b8b771527954dbef137288aec2d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:02Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.125879,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445702,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwMn0.zS3VZe7v51HO-UEek_6hNlfsiqIWJBlgWMOmHkwYM1E"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6ff84b8b771527954dbef137288aec2d"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4461a37c-5e6f-4f1b-8a26-7812e75df74c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4461a37c-5e6f-4f1b-8a26-7812e75df74c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:02.488710252Z"}]},"request_id":"698eab90-9d58-4f95-83f8-3d8632a06737","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445702.9935923} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6ff84b8b771527954dbef137288aec2d"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b5901c76-1747-4c36-b6dd-7f5c8712beff","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445702.9994555} 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":"6ff84b8b771527954dbef137288aec2d"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4461a37c-5e6f-4f1b-8a26-7812e75df74c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4461a37c-5e6f-4f1b-8a26-7812e75df74c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:02.488710252Z"}]},"request_id":"5a01c026-27fc-4262-ac23-b3b404641b98","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445703.0128102} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6ff84b8b771527954dbef137288aec2d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.042","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"6ff84b8b771527954dbef137288aec2d"} device-1 | {"level":"info","message":"PATCH /devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c 200 36ms","method":"PATCH","requestID":"6ff84b8b771527954dbef137288aec2d","responseTime":36,"status":200,"url":"/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwM30.cd0pCF6EEBVMh8iUP-c0VRbPzP4iERFnAqSBRcv2PIE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1f45c47ed728ed78c2d2dff44c542552","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:03Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.3533,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:03Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445703,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwM30.cd0pCF6EEBVMh8iUP-c0VRbPzP4iERFnAqSBRcv2PIE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1f45c47ed728ed78c2d2dff44c542552"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"1f45c47ed728ed78c2d2dff44c542552"} device-1 | {"level":"info","message":"POST /devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c/websocket 200 22ms","method":"POST","requestID":"1f45c47ed728ed78c2d2dff44c542552","responseTime":22,"status":200,"url":"/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1b2f557fe5259de5b37515f39151cdfd","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:35:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8b5a0f9c-788a-434a-8b26-50a495e42161/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":"1b2f557fe5259de5b37515f39151cdfd"} device-1 | {"level":"info","message":"OPTIONS /devices/8b5a0f9c-788a-434a-8b26-50a495e42161/websocket 200 1ms","method":"OPTIONS","requestID":"1b2f557fe5259de5b37515f39151cdfd","responseTime":1,"status":200,"url":"/devices/8b5a0f9c-788a-434a-8b26-50a495e42161/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwNH0.bMbJyBnX3e4t5bZyENEoI1zwP7y7a7U8eMv7ZOEXmt4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3cd03765d656701bb4c0f381abc62a87","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:04Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.058917,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:04Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8b5a0f9c-788a-434a-8b26-50a495e42161","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/8b5a0f9c-788a-434a-8b26-50a495e42161","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445704,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwNH0.bMbJyBnX3e4t5bZyENEoI1zwP7y7a7U8eMv7ZOEXmt4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3cd03765d656701bb4c0f381abc62a87"},"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/8b5a0f9c-788a-434a-8b26-50a495e42161/websocket 200 24ms","method":"POST","requestID":"3cd03765d656701bb4c0f381abc62a87","responseTime":24,"status":200,"url":"/devices/8b5a0f9c-788a-434a-8b26-50a495e42161/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:35:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8b5a0f9c-788a-434a-8b26-50a495e42161/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":"3cd03765d656701bb4c0f381abc62a87"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8b5a0f9c-788a-434a-8b26-50a495e42161' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwNH0.bMbJyBnX3e4t5bZyENEoI1zwP7y7a7U8eMv7ZOEXmt4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a1cab95b814650e83c9c41da1608201f","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:04Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.362873,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8b5a0f9c-788a-434a-8b26-50a495e42161","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/8b5a0f9c-788a-434a-8b26-50a495e42161","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445704,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwNH0.bMbJyBnX3e4t5bZyENEoI1zwP7y7a7U8eMv7ZOEXmt4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a1cab95b814650e83c9c41da1608201f"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b5a0f9c-788a-434a-8b26-50a495e42161","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b5a0f9c-788a-434a-8b26-50a495e42161","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:02.444326700Z"}]},"request_id":"5cb7e349-95ae-473d-a804-d9616d875abb","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445704.5629816} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a1cab95b814650e83c9c41da1608201f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8b5a0f9c-788a-434a-8b26-50a495e42161? 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":"a1cab95b814650e83c9c41da1608201f"} device-1 | {"level":"info","message":"GET /devices/8b5a0f9c-788a-434a-8b26-50a495e42161? 200 19ms","method":"GET","requestID":"a1cab95b814650e83c9c41da1608201f","responseTime":19,"status":200,"url":"/devices/8b5a0f9c-788a-434a-8b26-50a495e42161?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwNH0.bMbJyBnX3e4t5bZyENEoI1zwP7y7a7U8eMv7ZOEXmt4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b948a4f4bf5c5fda8c04cc2aa89a3f80","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:04Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.5469,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445704,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwNH0.bMbJyBnX3e4t5bZyENEoI1zwP7y7a7U8eMv7ZOEXmt4"} 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":"b948a4f4bf5c5fda8c04cc2aa89a3f80"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4461a37c-5e6f-4f1b-8a26-7812e75df74c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4461a37c-5e6f-4f1b-8a26-7812e75df74c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:02.488710252Z"}]},"request_id":"0ef77a61-2573-4687-bdbe-c2d3fb280c11","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445704.5932276} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b948a4f4bf5c5fda8c04cc2aa89a3f80"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b948a4f4bf5c5fda8c04cc2aa89a3f80"} device-1 | {"level":"info","message":"GET /devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c? 200 20ms","method":"GET","requestID":"b948a4f4bf5c5fda8c04cc2aa89a3f80","responseTime":20,"status":200,"url":"/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwNH0.bMbJyBnX3e4t5bZyENEoI1zwP7y7a7U8eMv7ZOEXmt4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3708cf71f1c9150585415890165b9639","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:58630","level":"info","msg":"Received request.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:04Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.211802,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445704,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwNH0.bMbJyBnX3e4t5bZyENEoI1zwP7y7a7U8eMv7ZOEXmt4"} 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":"3708cf71f1c9150585415890165b9639"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3b78cb5-2821-42fd-b8bb-17b95ff779b9"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3b78cb5-2821-42fd-b8bb-17b95ff779b9"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3b78cb5-2821-42fd-b8bb-17b95ff779b9"},"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:58630","level":"info","msg":"Received request.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:04Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.90379,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:04Z"} authorization-1 | {"client_addr":"127.0.0.1:46060","level":"info","msg":"Received request.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8b5a0f9c-788a-434a-8b26-50a495e42161","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/8b5a0f9c-788a-434a-8b26-50a495e42161","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445704,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwNH0.bMbJyBnX3e4t5bZyENEoI1zwP7y7a7U8eMv7ZOEXmt4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e250f0c0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:46060","level":"info","msg":"Sent response.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.916482,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445704,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwNH0.bMbJyBnX3e4t5bZyENEoI1zwP7y7a7U8eMv7ZOEXmt4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e2513ee0-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b5a0f9c-788a-434a-8b26-50a495e42161","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b5a0f9c-788a-434a-8b26-50a495e42161","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:02.444326700Z"}]},"request_id":"9220c2a6-ab75-43e7-989f-1008d725ab31","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445704.664472} 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":"e250f0c0-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4461a37c-5e6f-4f1b-8a26-7812e75df74c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4461a37c-5e6f-4f1b-8a26-7812e75df74c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:02.488710252Z"}]},"request_id":"5d7ca925-b9f7-4ee9-bc1c-3a87c2d353fe","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445704.6678708} 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":"e2513ee0-3d2e-11ef-b932-e1799b48160b"},"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/8b5a0f9c-788a-434a-8b26-50a495e42161? 200 27ms","method":"GET","requestID":"e250f0c0-3d2e-11ef-b932-e1799b48160b","responseTime":27,"status":200,"url":"/devices/8b5a0f9c-788a-434a-8b26-50a495e42161?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c? 200 27ms","method":"GET","requestID":"e2513ee0-3d2e-11ef-b932-e1799b48160b","responseTime":27,"status":200,"url":"/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3b78cb5-2821-42fd-b8bb-17b95ff779b9"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3b78cb5-2821-42fd-b8bb-17b95ff779b9"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3b78cb5-2821-42fd-b8bb-17b95ff779b9"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3b78cb5-2821-42fd-b8bb-17b95ff779b9"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3b78cb5-2821-42fd-b8bb-17b95ff779b9"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3b78cb5-2821-42fd-b8bb-17b95ff779b9"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3b78cb5-2821-42fd-b8bb-17b95ff779b9"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3b78cb5-2821-42fd-b8bb-17b95ff779b9"},"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/a3b78cb5-2821-42fd-b8bb-17b95ff779b9"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:04Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.527615,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:04Z"} authorization-1 | {"client_addr":"127.0.0.1:46060","level":"info","msg":"Received request.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8b5a0f9c-788a-434a-8b26-50a495e42161","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/8b5a0f9c-788a-434a-8b26-50a495e42161","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445704,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwNH0.bMbJyBnX3e4t5bZyENEoI1zwP7y7a7U8eMv7ZOEXmt4"} 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":"e2600bf0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:46060","level":"info","msg":"Sent response.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.442885,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445704,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwNH0.bMbJyBnX3e4t5bZyENEoI1zwP7y7a7U8eMv7ZOEXmt4"} 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":"e2608120-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b5a0f9c-788a-434a-8b26-50a495e42161","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b5a0f9c-788a-434a-8b26-50a495e42161","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:02.444326700Z"}]},"request_id":"4978403d-1dfb-451d-85ac-e56a4c197f83","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445704.771639} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4461a37c-5e6f-4f1b-8a26-7812e75df74c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4461a37c-5e6f-4f1b-8a26-7812e75df74c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:02.488710252Z"}]},"request_id":"2266058e-057e-4e5b-b9b2-467d00326e70","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445704.7738442} 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":"e2600bf0-3d2e-11ef-b932-e1799b48160b"},"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:46062","level":"info","msg":"Received request.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:04Z"} 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":"e2608120-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b5a0f9c-788a-434a-8b26-50a495e42161","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c5f24398-a2a1-4ae7-b1a8-f415e7202ea5","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445704.7787435} authorization-1 | {"client_addr":"127.0.0.1:46062","level":"info","msg":"Sent response.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.016107,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8b5a0f9c-788a-434a-8b26-50a495e42161","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8b5a0f9c-788a-434a-8b26-50a495e42161","object_type":"device","rebac_allow":false,"scope_allow":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":"e260cf40-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":20}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa3b78cb5-2821-42fd-b8bb-17b95ff779b9#owner@http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa3b78cb5-2821-42fd-b8bb-17b95ff779b9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"8ec9aeb1-35fe-4df4-b35a-a8ff001e50af","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445704.782063} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ae5a0fb0-d26d-4a47-80f3-e3a7c56c1678","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445704.7828052} 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":"3708cf71f1c9150585415890165b9639"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device-1 | {"level":"info","message":"GET /devices/8b5a0f9c-788a-434a-8b26-50a495e42161? 200 37ms","method":"GET","requestID":"e2600bf0-3d2e-11ef-b932-e1799b48160b","responseTime":37,"status":200,"url":"/devices/8b5a0f9c-788a-434a-8b26-50a495e42161?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c? 200 35ms","method":"GET","requestID":"e2608120-3d2e-11ef-b932-e1799b48160b","responseTime":35,"status":200,"url":"/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/8b5a0f9c-788a-434a-8b26-50a495e42161/signaling 200 36ms","method":"POST","requestID":"e260cf40-3d2e-11ef-b932-e1799b48160b","responseTime":36,"status":200,"url":"/devices/8b5a0f9c-788a-434a-8b26-50a495e42161/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:04Z"} authorization-1 | {"client_addr":"127.0.0.1:46060","level":"info","msg":"Received request.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:04Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/a3b78cb5-2821-42fd-b8bb-17b95ff779b9","user":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b5a0f9c-788a-434a-8b26-50a495e42161","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"33a3ba07-f03d-46d1-abba-2e08d1400fec","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445704.8070471} gateway-1 | {"time_local":"08/Jul/2024:13:35:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.206","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3708cf71f1c9150585415890165b9639"} experiment-1 | {"level":"info","message":"POST /experiments? 201 199ms","method":"POST","requestID":"3708cf71f1c9150585415890165b9639","responseTime":199,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.958164,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8b5a0f9c-788a-434a-8b26-50a495e42161","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8b5a0f9c-788a-434a-8b26-50a495e42161","object_type":"device","rebac_allow":false,"scope_allow":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":"e26737e0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4461a37c-5e6f-4f1b-8a26-7812e75df74c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6326438d-9c3e-4cf4-8327-62d087ebca81","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445704.8109376} authorization-1 | {"client_addr":"127.0.0.1:46060","level":"info","msg":"Sent response.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.154687,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c","object_type":"device","rebac_allow":false,"scope_allow":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":"e267ad10-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwNH0.bMbJyBnX3e4t5bZyENEoI1zwP7y7a7U8eMv7ZOEXmt4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b57aa9c5e34881933289ae90396fa5f2","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/8b5a0f9c-788a-434a-8b26-50a495e42161/signaling 200 20ms","method":"POST","requestID":"e26737e0-3d2e-11ef-b932-e1799b48160b","responseTime":20,"status":200,"url":"/devices/8b5a0f9c-788a-434a-8b26-50a495e42161/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:04Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.883351,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:04Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c/signaling 200 28ms","method":"POST","requestID":"e267ad10-3d2e-11ef-b932-e1799b48160b","responseTime":28,"status":200,"url":"/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8b5a0f9c-788a-434a-8b26-50a495e42161","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/8b5a0f9c-788a-434a-8b26-50a495e42161","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445704,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwNH0.bMbJyBnX3e4t5bZyENEoI1zwP7y7a7U8eMv7ZOEXmt4"} 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":"b57aa9c5e34881933289ae90396fa5f2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:46060","level":"info","msg":"Received request.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:04Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4461a37c-5e6f-4f1b-8a26-7812e75df74c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"856b2995-ceb9-4219-a4ff-bab7432f8531","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445704.8339283} authorization-1 | {"client_addr":"127.0.0.1:46060","level":"info","msg":"Sent response.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.134899,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c","object_type":"device","rebac_allow":false,"scope_allow":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":"e26b2f80-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b5a0f9c-788a-434a-8b26-50a495e42161","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b5a0f9c-788a-434a-8b26-50a495e42161","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:02.444326700Z"}]},"request_id":"6e5adef7-eb47-412e-918e-4be959726f4b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445704.837829} 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":"b57aa9c5e34881933289ae90396fa5f2"},"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/4461a37c-5e6f-4f1b-8a26-7812e75df74c/signaling 200 20ms","method":"POST","requestID":"e26b2f80-3d2e-11ef-b932-e1799b48160b","responseTime":20,"status":200,"url":"/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3b78cb5-2821-42fd-b8bb-17b95ff779b9"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3b78cb5-2821-42fd-b8bb-17b95ff779b9"},"level":"info","message":"Building connection plan"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"ab061ac4-0e1e-4f67-80e1-c27dfac99f51"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"3fa989f9-7c78-4369-b2e6-d2f59e1b1a10"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"99b4f64c-da10-451e-afc7-542e68b6fbbf"}]},"level":"info","message":"Built pairwise service configurations"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/8b5a0f9c-788a-434a-8b26-50a495e42161"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} gateway-1 | {"time_local":"08/Jul/2024:13:35:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8b5a0f9c-788a-434a-8b26-50a495e42161? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b57aa9c5e34881933289ae90396fa5f2"} device-1 | {"level":"info","message":"GET /devices/8b5a0f9c-788a-434a-8b26-50a495e42161? 200 28ms","method":"GET","requestID":"b57aa9c5e34881933289ae90396fa5f2","responseTime":28,"status":200,"url":"/devices/8b5a0f9c-788a-434a-8b26-50a495e42161?"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwNH0.bMbJyBnX3e4t5bZyENEoI1zwP7y7a7U8eMv7ZOEXmt4","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:04Z"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"73cd6ee2f26823bbebc3e19d8de97998","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":2.155418,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445704,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwNH0.bMbJyBnX3e4t5bZyENEoI1zwP7y7a7U8eMv7ZOEXmt4"} 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":"e26f0010-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:04Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.808095,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445704,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwNH0.bMbJyBnX3e4t5bZyENEoI1zwP7y7a7U8eMv7ZOEXmt4"} 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":"73cd6ee2f26823bbebc3e19d8de97998"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4461a37c-5e6f-4f1b-8a26-7812e75df74c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4461a37c-5e6f-4f1b-8a26-7812e75df74c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:02.488710252Z"}]},"request_id":"2b258181-135f-4b83-ba44-ff126975f971","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445704.8654988} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"73cd6ee2f26823bbebc3e19d8de97998"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","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%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"6c51b87e-b548-4948-871f-186a13b654a1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445704.8690746} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"73cd6ee2f26823bbebc3e19d8de97998"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"170227ac-af71-44bb-b5c8-780f9d07dc81","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445704.869545} device-1 | {"level":"info","message":"GET /devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c? 200 16ms","method":"GET","requestID":"73cd6ee2f26823bbebc3e19d8de97998","responseTime":16,"status":200,"url":"/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c?"} 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":"e26f0010-3d2e-11ef-b932-e1799b48160b"},"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/d990c7a3-7857-4595-92ca-f97d518bf2e3'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/d990c7a3-7857-4595-92ca-f97d518bf2e3'"} 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":"e26f0010-3d2e-11ef-b932-e1799b48160b","responseTime":34,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3b78cb5-2821-42fd-b8bb-17b95ff779b9"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:04Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b5a0f9c-788a-434a-8b26-50a495e42161","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eb915d4e-c49b-44ca-b022-14961513e6de","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445704.923838} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.623729,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8b5a0f9c-788a-434a-8b26-50a495e42161","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8b5a0f9c-788a-434a-8b26-50a495e42161","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e279ae70-3d2e-11ef-b932-e1799b48160b"},"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/8b5a0f9c-788a-434a-8b26-50a495e42161/signaling 200 8ms","method":"POST","requestID":"e279ae70-3d2e-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/devices/8b5a0f9c-788a-434a-8b26-50a495e42161/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:04Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4461a37c-5e6f-4f1b-8a26-7812e75df74c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9e868326-f3a1-4f2d-8664-667be1663ce9","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445704.9343598} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.719143,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c","object_type":"device","rebac_allow":false,"scope_allow":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":"e27b3510-3d2e-11ef-b932-e1799b48160b"},"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/4461a37c-5e6f-4f1b-8a26-7812e75df74c/signaling 200 9ms","method":"POST","requestID":"e27b3510-3d2e-11ef-b932-e1799b48160b","responseTime":9,"status":200,"url":"/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c/signaling"} device-1 | {"data":{"peerconnection":"d990c7a3-7857-4595-92ca-f97d518bf2e3","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/d990c7a3-7857-4595-92ca-f97d518bf2e3' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d990c7a3-7857-4595-92ca-f97d518bf2e3","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/8b5a0f9c-788a-434a-8b26-50a495e42161'"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"299c2f7acc2c67dbd95036da3c8d7b75","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/8b5a0f9c-788a-434a-8b26-50a495e42161"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/d990c7a3-7857-4595-92ca-f97d518bf2e3"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"299c2f7acc2c67dbd95036da3c8d7b75","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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":"299c2f7acc2c67dbd95036da3c8d7b75"} device-1 | {"data":{"peerconnection":"d990c7a3-7857-4595-92ca-f97d518bf2e3","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"d990c7a3-7857-4595-92ca-f97d518bf2e3","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/d990c7a3-7857-4595-92ca-f97d518bf2e3' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d990c7a3-7857-4595-92ca-f97d518bf2e3","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c90e2937d8f3fff3d59f0e6742ac867a","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/8b5a0f9c-788a-434a-8b26-50a495e42161"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/d990c7a3-7857-4595-92ca-f97d518bf2e3"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:07Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd990c7a3-7857-4595-92ca-f97d518bf2e3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8c1045cb-663e-47bf-9c07-c95ed63e50a4","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445707.0951064} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.855175,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d990c7a3-7857-4595-92ca-f97d518bf2e3","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/d990c7a3-7857-4595-92ca-f97d518bf2e3","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":"e3c47df0-3d2e-11ef-b932-e1799b48160b"},"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/d990c7a3-7857-4595-92ca-f97d518bf2e3 200 14ms","method":"GET","requestID":"e3c47df0-3d2e-11ef-b932-e1799b48160b","responseTime":14,"status":200,"url":"/peerconnections/d990c7a3-7857-4595-92ca-f97d518bf2e3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 44ms","method":"POST","requestID":"c90e2937d8f3fff3d59f0e6742ac867a","responseTime":44,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.050","http_referrer":"","http_user_agent":"node-fetch","requestID":"c90e2937d8f3fff3d59f0e6742ac867a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:07Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b5a0f9c-788a-434a-8b26-50a495e42161","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c02fef84-61b5-4b21-8dac-ce2c5b4f7ffc","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445707.1260366} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.674125,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8b5a0f9c-788a-434a-8b26-50a495e42161","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8b5a0f9c-788a-434a-8b26-50a495e42161","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e3c9ae10-3d2e-11ef-b932-e1799b48160b"},"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/8b5a0f9c-788a-434a-8b26-50a495e42161/signaling 200 9ms","method":"POST","requestID":"e3c9ae10-3d2e-11ef-b932-e1799b48160b","responseTime":9,"status":200,"url":"/devices/8b5a0f9c-788a-434a-8b26-50a495e42161/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:07Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4461a37c-5e6f-4f1b-8a26-7812e75df74c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8f833d48-af0e-48e8-aaf9-b55ea88a5b45","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445707.1380768} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.63023,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e3cb82d0-3d2e-11ef-b932-e1799b48160b"},"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/4461a37c-5e6f-4f1b-8a26-7812e75df74c/signaling 200 10ms","method":"POST","requestID":"e3cb82d0-3d2e-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwN30.rlprF8PJtcYGRseHMfzfyFcKHQ68ebFh81Q5gxxVNUU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4ebcc8b0d70dafc660e731dad8af269a","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a3b78cb5-2821-42fd-b8bb-17b95ff779b9"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:07Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.209766,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a3b78cb5-2821-42fd-b8bb-17b95ff779b9","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/a3b78cb5-2821-42fd-b8bb-17b95ff779b9","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445707,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwN30.rlprF8PJtcYGRseHMfzfyFcKHQ68ebFh81Q5gxxVNUU"} 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":"4ebcc8b0d70dafc660e731dad8af269a"},"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/a3b78cb5-2821-42fd-b8bb-17b95ff779b9"} gateway-1 | {"time_local":"08/Jul/2024:13:35:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a3b78cb5-2821-42fd-b8bb-17b95ff779b9 HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4ebcc8b0d70dafc660e731dad8af269a"} experiment-1 | {"level":"info","message":"GET /experiments/a3b78cb5-2821-42fd-b8bb-17b95ff779b9 200 16ms","method":"GET","requestID":"4ebcc8b0d70dafc660e731dad8af269a","responseTime":16,"status":200,"url":"/experiments/a3b78cb5-2821-42fd-b8bb-17b95ff779b9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwN30.rlprF8PJtcYGRseHMfzfyFcKHQ68ebFh81Q5gxxVNUU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e7abee609402f04e483c5585d6a19936","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a3b78cb5-2821-42fd-b8bb-17b95ff779b9"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:07Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.399922,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:07Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a3b78cb5-2821-42fd-b8bb-17b95ff779b9","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/a3b78cb5-2821-42fd-b8bb-17b95ff779b9","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445707,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwN30.rlprF8PJtcYGRseHMfzfyFcKHQ68ebFh81Q5gxxVNUU"} 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":"e7abee609402f04e483c5585d6a19936"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3b78cb5-2821-42fd-b8bb-17b95ff779b9"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:07Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.162885,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:07Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d990c7a3-7857-4595-92ca-f97d518bf2e3","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:http://localhost/peerconnections/d990c7a3-7857-4595-92ca-f97d518bf2e3","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445707,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwN30.rlprF8PJtcYGRseHMfzfyFcKHQ68ebFh81Q5gxxVNUU"} 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":"e3f5a010-3d2e-11ef-b932-e1799b48160b"},"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/d990c7a3-7857-4595-92ca-f97d518bf2e3' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/d990c7a3-7857-4595-92ca-f97d518bf2e3' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d990c7a3-7857-4595-92ca-f97d518bf2e3","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd990c7a3-7857-4595-92ca-f97d518bf2e3': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd990c7a3-7857-4595-92ca-f97d518bf2e3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"23b5a19c-23ea-4b37-9a73-3662591e0dd8","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445707.4315681} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5a230910236a5cadfb203b4aefcc9f38","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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"175a9c00-5f52-4e97-8139-3cd18d149118","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445707.4325638} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/8b5a0f9c-788a-434a-8b26-50a495e42161"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d990c7a3-7857-4595-92ca-f97d518bf2e3"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b1c0d77ca5dc1ab16c2c29a9a9085e5b","responseTime":1,"status":200,"url":"/auth"} 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":"e3f5a010-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/8b5a0f9c-788a-434a-8b26-50a495e42161"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d990c7a3-7857-4595-92ca-f97d518bf2e3"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"d990c7a3-7857-4595-92ca-f97d518bf2e3","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/d990c7a3-7857-4595-92ca-f97d518bf2e3 204 45ms","method":"DELETE","requestID":"e3f5a010-3d2e-11ef-b932-e1799b48160b","responseTime":45,"status":204,"url":"/peerconnections/d990c7a3-7857-4595-92ca-f97d518bf2e3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a3b78cb5-2821-42fd-b8bb-17b95ff779b9"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:07Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b5a0f9c-788a-434a-8b26-50a495e42161","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f6a68ae3-7250-49bb-b850-e40a2fa278f3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445707.4872692} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.589979,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8b5a0f9c-788a-434a-8b26-50a495e42161","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8b5a0f9c-788a-434a-8b26-50a495e42161","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e4007580-3d2e-11ef-b932-e1799b48160b"},"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/8b5a0f9c-788a-434a-8b26-50a495e42161/signaling 200 14ms","method":"POST","requestID":"e4007580-3d2e-11ef-b932-e1799b48160b","responseTime":14,"status":200,"url":"/devices/8b5a0f9c-788a-434a-8b26-50a495e42161/signaling"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa3b78cb5-2821-42fd-b8bb-17b95ff779b9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa3b78cb5-2821-42fd-b8bb-17b95ff779b9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"02fbeb7a-53f8-44a3-9d4e-8a0127557031","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445707.4960124} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eaa5ee01-1a87-4f04-b281-12af8ee5f009","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445707.496271} 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":"e7abee609402f04e483c5585d6a19936"},"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:58630","level":"info","msg":"Received request.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:07Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4461a37c-5e6f-4f1b-8a26-7812e75df74c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e306f428-3124-42d6-a371-465ef639c4d8","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445707.50245} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.896702,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e4030d90-3d2e-11ef-b932-e1799b48160b"},"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/4461a37c-5e6f-4f1b-8a26-7812e75df74c/signaling 200 10ms","method":"POST","requestID":"e4030d90-3d2e-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/4461a37c-5e6f-4f1b-8a26-7812e75df74c/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a3b78cb5-2821-42fd-b8bb-17b95ff779b9"} gateway-1 | {"time_local":"08/Jul/2024:13:35:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a3b78cb5-2821-42fd-b8bb-17b95ff779b9 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.176","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e7abee609402f04e483c5585d6a19936"} gateway-1 | {"time_local":"08/Jul/2024:13:35:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2582","request_time":"4.517","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"091e77e709c66a935d34d03f1d9dd154"} experiment-1 | {"level":"info","message":"DELETE /experiments/a3b78cb5-2821-42fd-b8bb-17b95ff779b9 204 174ms","method":"DELETE","requestID":"e7abee609402f04e483c5585d6a19936","responseTime":174,"status":204,"url":"/experiments/a3b78cb5-2821-42fd-b8bb-17b95ff779b9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 135ms","method":"POST","requestID":"5a230910236a5cadfb203b4aefcc9f38","responseTime":135,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.139","http_referrer":"","http_user_agent":"node-fetch","requestID":"5a230910236a5cadfb203b4aefcc9f38"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 135ms","method":"POST","requestID":"b1c0d77ca5dc1ab16c2c29a9a9085e5b","responseTime":135,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.139","http_referrer":"","http_user_agent":"node-fetch","requestID":"b1c0d77ca5dc1ab16c2c29a9a9085e5b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwN30.rlprF8PJtcYGRseHMfzfyFcKHQ68ebFh81Q5gxxVNUU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0a7091ddfe3dba731aacb1093585c84b","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/4461a37c-5e6f-4f1b-8a26-7812e75df74c' closed"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:07Z"} gateway-1 | {"time_local":"08/Jul/2024:13:35:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2494","request_time":"3.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":"d370a85e359f1a11f6ce6c45db103379"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.8957,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445707,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwN30.rlprF8PJtcYGRseHMfzfyFcKHQ68ebFh81Q5gxxVNUU"} 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":"0a7091ddfe3dba731aacb1093585c84b"},"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/8b5a0f9c-788a-434a-8b26-50a495e42161' 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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdbe8efa8-fda6-456f-a669-b9c435767944","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c1402204-ce8d-46ed-95b4-f17351de08d6","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445707.595979} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0a7091ddfe3dba731aacb1093585c84b"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8ce2c7d0-c155-4685-b2d1-5852de60ca1b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445707.6024516} 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":"0a7091ddfe3dba731aacb1093585c84b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdbe8efa8-fda6-456f-a669-b9c435767944","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"518299a6-348f-43af-9031-5225ab27e293","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445707.6116958} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4e5a4a7c-dcc9-4b28-8b9b-e19e56964d6d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445707.6119199} 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":"0a7091ddfe3dba731aacb1093585c84b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdbe8efa8-fda6-456f-a669-b9c435767944","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdbe8efa8-fda6-456f-a669-b9c435767944","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:07.611675884Z"}]},"request_id":"5b6fb888-8d2e-46b1-8910-8d6c3090d3a3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445707.616479} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0a7091ddfe3dba731aacb1093585c84b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0a7091ddfe3dba731aacb1093585c84b"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"0a7091ddfe3dba731aacb1093585c84b","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwN30.rlprF8PJtcYGRseHMfzfyFcKHQ68ebFh81Q5gxxVNUU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9c6ced3e9ae979d1b197f38dcaf28bc9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:07Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.774669,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445707,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwN30.rlprF8PJtcYGRseHMfzfyFcKHQ68ebFh81Q5gxxVNUU"} 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":"9c6ced3e9ae979d1b197f38dcaf28bc9"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1323d9f-b766-4999-94dd-6a73b23faba6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"386e35c4-66d5-4556-aea0-0ccc1b051c5e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445707.647044} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c6ced3e9ae979d1b197f38dcaf28bc9"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e2bea268-d6e5-472e-b75d-44263730d51f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445707.652047} 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":"9c6ced3e9ae979d1b197f38dcaf28bc9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1323d9f-b766-4999-94dd-6a73b23faba6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"37820fcf-532e-4f48-84b0-97a7d76947cb","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445707.6627305} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f8963d3c-3e9e-44ee-bbc4-d8e457da4029","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445707.6628773} 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":"9c6ced3e9ae979d1b197f38dcaf28bc9"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1323d9f-b766-4999-94dd-6a73b23faba6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1323d9f-b766-4999-94dd-6a73b23faba6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:07.662714350Z"}]},"request_id":"d0aaf972-e854-4150-bbb1-a46447326fd8","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445707.667058} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c6ced3e9ae979d1b197f38dcaf28bc9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9c6ced3e9ae979d1b197f38dcaf28bc9"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"9c6ced3e9ae979d1b197f38dcaf28bc9","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwOH0.hpejW6Pg_nplhFnfSfATe-37RRqaVq49iaHSVb48KFo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0c249be4945b62a3388c2f3f3e987f9e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:08Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.19985,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/dbe8efa8-fda6-456f-a669-b9c435767944","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/dbe8efa8-fda6-456f-a669-b9c435767944","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445708,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwOH0.hpejW6Pg_nplhFnfSfATe-37RRqaVq49iaHSVb48KFo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0c249be4945b62a3388c2f3f3e987f9e"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdbe8efa8-fda6-456f-a669-b9c435767944","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdbe8efa8-fda6-456f-a669-b9c435767944","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:07.611675884Z"}]},"request_id":"a29e77c5-3f01-49f3-b550-9814237f4d57","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445708.1654644} 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":"0c249be4945b62a3388c2f3f3e987f9e"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"058a4429-36ff-419c-91e8-b9bcad66dbc7","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445708.1734917} 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":"0c249be4945b62a3388c2f3f3e987f9e"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdbe8efa8-fda6-456f-a669-b9c435767944","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdbe8efa8-fda6-456f-a669-b9c435767944","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:07.611675884Z"}]},"request_id":"6025d1ed-2ba7-4482-8a0d-a92da399a6b9","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445708.1865869} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0c249be4945b62a3388c2f3f3e987f9e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/dbe8efa8-fda6-456f-a669-b9c435767944 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"0c249be4945b62a3388c2f3f3e987f9e"} device-1 | {"level":"info","message":"PATCH /devices/dbe8efa8-fda6-456f-a669-b9c435767944 200 38ms","method":"PATCH","requestID":"0c249be4945b62a3388c2f3f3e987f9e","responseTime":38,"status":200,"url":"/devices/dbe8efa8-fda6-456f-a669-b9c435767944"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwOH0.hpejW6Pg_nplhFnfSfATe-37RRqaVq49iaHSVb48KFo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"b6848e620080be58c7fc2c51d4807cb4","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:08Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.462302,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/dbe8efa8-fda6-456f-a669-b9c435767944","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/dbe8efa8-fda6-456f-a669-b9c435767944","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445708,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwOH0.hpejW6Pg_nplhFnfSfATe-37RRqaVq49iaHSVb48KFo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b6848e620080be58c7fc2c51d4807cb4"},"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/dbe8efa8-fda6-456f-a669-b9c435767944/websocket 200 23ms","method":"POST","requestID":"b6848e620080be58c7fc2c51d4807cb4","responseTime":23,"status":200,"url":"/devices/dbe8efa8-fda6-456f-a669-b9c435767944/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:35:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/dbe8efa8-fda6-456f-a669-b9c435767944/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.030","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"b6848e620080be58c7fc2c51d4807cb4"} device-1 | {"level":"info","message":"device 'http://localhost/devices/dbe8efa8-fda6-456f-a669-b9c435767944' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"882c5d11f38462bf83a1fec43deab7a0","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:35:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c1323d9f-b766-4999-94dd-6a73b23faba6/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":"882c5d11f38462bf83a1fec43deab7a0"} device-1 | {"level":"info","message":"OPTIONS /devices/c1323d9f-b766-4999-94dd-6a73b23faba6/websocket 200 1ms","method":"OPTIONS","requestID":"882c5d11f38462bf83a1fec43deab7a0","responseTime":1,"status":200,"url":"/devices/c1323d9f-b766-4999-94dd-6a73b23faba6/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwOX0.iHTz5G3jQKYzlIx1oDmtbMnq5kaLiXqIgtV2DsWDsmk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f01c8953b8841c4a1f09488ad288d9e5","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:09Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.363708,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:09Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c1323d9f-b766-4999-94dd-6a73b23faba6","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/c1323d9f-b766-4999-94dd-6a73b23faba6","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445709,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwOX0.iHTz5G3jQKYzlIx1oDmtbMnq5kaLiXqIgtV2DsWDsmk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f01c8953b8841c4a1f09488ad288d9e5"},"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/c1323d9f-b766-4999-94dd-6a73b23faba6/websocket 200 22ms","method":"POST","requestID":"f01c8953b8841c4a1f09488ad288d9e5","responseTime":22,"status":200,"url":"/devices/c1323d9f-b766-4999-94dd-6a73b23faba6/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:35:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c1323d9f-b766-4999-94dd-6a73b23faba6/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.030","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f01c8953b8841c4a1f09488ad288d9e5"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c1323d9f-b766-4999-94dd-6a73b23faba6' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwOX0.iHTz5G3jQKYzlIx1oDmtbMnq5kaLiXqIgtV2DsWDsmk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"75255559941456b41f198bf69f149e86","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:09Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.176851,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dbe8efa8-fda6-456f-a669-b9c435767944","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/dbe8efa8-fda6-456f-a669-b9c435767944","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445709,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwOX0.iHTz5G3jQKYzlIx1oDmtbMnq5kaLiXqIgtV2DsWDsmk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"75255559941456b41f198bf69f149e86"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdbe8efa8-fda6-456f-a669-b9c435767944","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdbe8efa8-fda6-456f-a669-b9c435767944","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:07.611675884Z"}]},"request_id":"8749657e-e5f7-4d6f-a377-8960d74f8608","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445709.7436879} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"75255559941456b41f198bf69f149e86"},"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/dbe8efa8-fda6-456f-a669-b9c435767944? 200 18ms","method":"GET","requestID":"75255559941456b41f198bf69f149e86","responseTime":18,"status":200,"url":"/devices/dbe8efa8-fda6-456f-a669-b9c435767944?"} gateway-1 | {"time_local":"08/Jul/2024:13:35:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dbe8efa8-fda6-456f-a669-b9c435767944? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"75255559941456b41f198bf69f149e86"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwOX0.iHTz5G3jQKYzlIx1oDmtbMnq5kaLiXqIgtV2DsWDsmk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5b5071c1f42397c12d51c3093e2d8f12","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:09Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.192968,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c1323d9f-b766-4999-94dd-6a73b23faba6","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/c1323d9f-b766-4999-94dd-6a73b23faba6","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445709,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwOX0.iHTz5G3jQKYzlIx1oDmtbMnq5kaLiXqIgtV2DsWDsmk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5b5071c1f42397c12d51c3093e2d8f12"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1323d9f-b766-4999-94dd-6a73b23faba6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1323d9f-b766-4999-94dd-6a73b23faba6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:07.662714350Z"}]},"request_id":"d04ee5f2-749e-4be1-912a-5bc5dcfe9288","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445709.771295} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5b5071c1f42397c12d51c3093e2d8f12"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c1323d9f-b766-4999-94dd-6a73b23faba6? 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":"5b5071c1f42397c12d51c3093e2d8f12"} device-1 | {"level":"info","message":"GET /devices/c1323d9f-b766-4999-94dd-6a73b23faba6? 200 21ms","method":"GET","requestID":"5b5071c1f42397c12d51c3093e2d8f12","responseTime":21,"status":200,"url":"/devices/c1323d9f-b766-4999-94dd-6a73b23faba6?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwOX0.iHTz5G3jQKYzlIx1oDmtbMnq5kaLiXqIgtV2DsWDsmk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3bcbc423989dafad15a3abcbb4857a71","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:58630","level":"info","msg":"Received request.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:09Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.161415,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445709,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwOX0.iHTz5G3jQKYzlIx1oDmtbMnq5kaLiXqIgtV2DsWDsmk"} 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":"3bcbc423989dafad15a3abcbb4857a71"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37"},"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:58630","level":"info","msg":"Received request.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:09Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.804151,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dbe8efa8-fda6-456f-a669-b9c435767944","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/dbe8efa8-fda6-456f-a669-b9c435767944","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445709,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwOX0.iHTz5G3jQKYzlIx1oDmtbMnq5kaLiXqIgtV2DsWDsmk"} 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":"e5692d40-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:46072","level":"info","msg":"Received request.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:09Z"} authorization-1 | {"client_addr":"127.0.0.1:46072","level":"info","msg":"Sent response.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.795224,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c1323d9f-b766-4999-94dd-6a73b23faba6","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/c1323d9f-b766-4999-94dd-6a73b23faba6","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445709,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwOX0.iHTz5G3jQKYzlIx1oDmtbMnq5kaLiXqIgtV2DsWDsmk"} 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":"e5697b60-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdbe8efa8-fda6-456f-a669-b9c435767944","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdbe8efa8-fda6-456f-a669-b9c435767944","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:07.611675884Z"}]},"request_id":"41435280-9052-4ce6-a4ec-2a552ea577df","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445709.853293} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e5692d40-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1323d9f-b766-4999-94dd-6a73b23faba6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1323d9f-b766-4999-94dd-6a73b23faba6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:07.662714350Z"}]},"request_id":"afd7cc53-8466-4eb9-9785-ca54cc51cae1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445709.8570883} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e5697b60-3d2e-11ef-b932-e1799b48160b"},"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/dbe8efa8-fda6-456f-a669-b9c435767944? 200 16ms","method":"GET","requestID":"e5692d40-3d2e-11ef-b932-e1799b48160b","responseTime":16,"status":200,"url":"/devices/dbe8efa8-fda6-456f-a669-b9c435767944?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/c1323d9f-b766-4999-94dd-6a73b23faba6? 200 16ms","method":"GET","requestID":"e5697b60-3d2e-11ef-b932-e1799b48160b","responseTime":16,"status":200,"url":"/devices/c1323d9f-b766-4999-94dd-6a73b23faba6?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37"},"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:58630","level":"info","msg":"Received request.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:09Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.776018,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:09Z"} authorization-1 | {"client_addr":"127.0.0.1:46072","level":"info","msg":"Received request.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dbe8efa8-fda6-456f-a669-b9c435767944","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/dbe8efa8-fda6-456f-a669-b9c435767944","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445709,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwOX0.iHTz5G3jQKYzlIx1oDmtbMnq5kaLiXqIgtV2DsWDsmk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e572f140-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:46072","level":"info","msg":"Sent response.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.978522,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c1323d9f-b766-4999-94dd-6a73b23faba6","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/c1323d9f-b766-4999-94dd-6a73b23faba6","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445709,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwOX0.iHTz5G3jQKYzlIx1oDmtbMnq5kaLiXqIgtV2DsWDsmk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e5733f60-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:09Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.83802,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:09Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdbe8efa8-fda6-456f-a669-b9c435767944","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a60c1613-b89a-410d-8635-dc5d3d821f52","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445709.918634} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dbe8efa8-fda6-456f-a669-b9c435767944","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dbe8efa8-fda6-456f-a669-b9c435767944","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e5738d80-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1323d9f-b766-4999-94dd-6a73b23faba6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1323d9f-b766-4999-94dd-6a73b23faba6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:07.662714350Z"}]},"request_id":"4a941093-55ef-40a7-b13e-3a83a08afa29","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445709.9214358} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e5733f60-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdbe8efa8-fda6-456f-a669-b9c435767944","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdbe8efa8-fda6-456f-a669-b9c435767944","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:07.611675884Z"}]},"request_id":"4876151f-899a-4c38-b5ea-2c1884b4d584","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445709.9240937} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e572f140-3d2e-11ef-b932-e1799b48160b"},"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/dbe8efa8-fda6-456f-a669-b9c435767944/signaling 200 14ms","method":"POST","requestID":"e5738d80-3d2e-11ef-b932-e1799b48160b","responseTime":14,"status":200,"url":"/devices/dbe8efa8-fda6-456f-a669-b9c435767944/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/c1323d9f-b766-4999-94dd-6a73b23faba6? 200 22ms","method":"GET","requestID":"e5733f60-3d2e-11ef-b932-e1799b48160b","responseTime":22,"status":200,"url":"/devices/c1323d9f-b766-4999-94dd-6a73b23faba6?"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:09Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/dbe8efa8-fda6-456f-a669-b9c435767944? 200 25ms","method":"GET","requestID":"e572f140-3d2e-11ef-b932-e1799b48160b","responseTime":25,"status":200,"url":"/devices/dbe8efa8-fda6-456f-a669-b9c435767944?"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1323d9f-b766-4999-94dd-6a73b23faba6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eadd8725-5d77-43bb-9e9e-996746fd6e42","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445709.9352207} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.983946,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:09Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c1323d9f-b766-4999-94dd-6a73b23faba6","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c1323d9f-b766-4999-94dd-6a73b23faba6","object_type":"device","rebac_allow":false,"scope_allow":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":"e5762590-3d2e-11ef-b932-e1799b48160b"},"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":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3d0d7a3f-d69f-4da9-9ac0-d480d5d3047f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445709.9364946} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37#owner@http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"c435292b-2217-4e58-933f-fca096b08ead","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445709.9368474} 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":"3bcbc423989dafad15a3abcbb4857a71"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c1323d9f-b766-4999-94dd-6a73b23faba6/signaling 200 11ms","method":"POST","requestID":"e5762590-3d2e-11ef-b932-e1799b48160b","responseTime":11,"status":200,"url":"/devices/c1323d9f-b766-4999-94dd-6a73b23faba6/signaling"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:09Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdbe8efa8-fda6-456f-a669-b9c435767944","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"32fed9c6-0065-4470-8ca5-a397e8f4452f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445709.942529} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.541348,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dbe8efa8-fda6-456f-a669-b9c435767944","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dbe8efa8-fda6-456f-a669-b9c435767944","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e5773700-3d2e-11ef-b932-e1799b48160b"},"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/dbe8efa8-fda6-456f-a669-b9c435767944/signaling 200 11ms","method":"POST","requestID":"e5773700-3d2e-11ef-b932-e1799b48160b","responseTime":11,"status":200,"url":"/devices/dbe8efa8-fda6-456f-a669-b9c435767944/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37","user":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/Jul/2024:13:35:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.167","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3bcbc423989dafad15a3abcbb4857a71"} experiment-1 | {"level":"info","message":"POST /experiments? 201 160ms","method":"POST","requestID":"3bcbc423989dafad15a3abcbb4857a71","responseTime":160,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwOX0.iHTz5G3jQKYzlIx1oDmtbMnq5kaLiXqIgtV2DsWDsmk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f9bcac9909f6fc9045f5867f703c408f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:09Z"} authorization-1 | {"client_addr":"127.0.0.1:46072","level":"info","msg":"Received request.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:09Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1323d9f-b766-4999-94dd-6a73b23faba6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"92f6d3be-0ed5-4f30-a56a-5160fe2adbe3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445709.955888} authorization-1 | {"client_addr":"127.0.0.1:46072","level":"info","msg":"Sent response.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.848145,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dbe8efa8-fda6-456f-a669-b9c435767944","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/dbe8efa8-fda6-456f-a669-b9c435767944","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445709,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwOX0.iHTz5G3jQKYzlIx1oDmtbMnq5kaLiXqIgtV2DsWDsmk"} 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":"f9bcac9909f6fc9045f5867f703c408f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.230769,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c1323d9f-b766-4999-94dd-6a73b23faba6","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c1323d9f-b766-4999-94dd-6a73b23faba6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e57959e0-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdbe8efa8-fda6-456f-a669-b9c435767944","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdbe8efa8-fda6-456f-a669-b9c435767944","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:07.611675884Z"}]},"request_id":"75789e19-6311-4685-80ef-e4edebb4f85a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445709.9605305} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c1323d9f-b766-4999-94dd-6a73b23faba6/signaling 200 10ms","method":"POST","requestID":"e57959e0-3d2e-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/c1323d9f-b766-4999-94dd-6a73b23faba6/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":"f9bcac9909f6fc9045f5867f703c408f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"8303837b-a3be-443b-b462-9f96d5d684d0"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"474c54c5-707e-4965-9112-7cbb4cda5bf7"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"fca051dd-751d-4706-b3a3-01f260ca6c85"}]},"level":"info","message":"Built pairwise service configurations"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/c1323d9f-b766-4999-94dd-6a73b23faba6"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/dbe8efa8-fda6-456f-a669-b9c435767944"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dbe8efa8-fda6-456f-a669-b9c435767944? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f9bcac9909f6fc9045f5867f703c408f"} device-1 | {"level":"info","message":"GET /devices/dbe8efa8-fda6-456f-a669-b9c435767944? 200 13ms","method":"GET","requestID":"f9bcac9909f6fc9045f5867f703c408f","responseTime":13,"status":200,"url":"/devices/dbe8efa8-fda6-456f-a669-b9c435767944?"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:09Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.78844,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445709,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwOX0.iHTz5G3jQKYzlIx1oDmtbMnq5kaLiXqIgtV2DsWDsmk"} 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":"e57b7cc0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwOX0.iHTz5G3jQKYzlIx1oDmtbMnq5kaLiXqIgtV2DsWDsmk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"00d2ebc51b6e196f46372bfdde4736d4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:09Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.702929,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c1323d9f-b766-4999-94dd-6a73b23faba6","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/c1323d9f-b766-4999-94dd-6a73b23faba6","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445709,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcwOX0.iHTz5G3jQKYzlIx1oDmtbMnq5kaLiXqIgtV2DsWDsmk"} 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":"00d2ebc51b6e196f46372bfdde4736d4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","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%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"f55367df-0a92-4dd2-b6d4-32911787c705","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445709.9794538} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0fdf48c2-c4df-46ea-8635-ed51d38e404e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445709.979799} 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":"e57b7cc0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1323d9f-b766-4999-94dd-6a73b23faba6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1323d9f-b766-4999-94dd-6a73b23faba6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:07.662714350Z"}]},"request_id":"a1073cc9-c721-48f1-91d1-aa5705826a6a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445709.9833581} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"00d2ebc51b6e196f46372bfdde4736d4"},"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/381e64ef-dc4a-4b28-aea9-7c5895e100f5'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/381e64ef-dc4a-4b28-aea9-7c5895e100f5'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 31ms","method":"POST","requestID":"e57b7cc0-3d2e-11ef-b932-e1799b48160b","responseTime":31,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c1323d9f-b766-4999-94dd-6a73b23faba6? 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":"00d2ebc51b6e196f46372bfdde4736d4"} device-1 | {"level":"info","message":"GET /devices/c1323d9f-b766-4999-94dd-6a73b23faba6? 200 24ms","method":"GET","requestID":"00d2ebc51b6e196f46372bfdde4736d4","responseTime":24,"status":200,"url":"/devices/c1323d9f-b766-4999-94dd-6a73b23faba6?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:10Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdbe8efa8-fda6-456f-a669-b9c435767944","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c2759c38-0e68-43b0-96ef-381d6e26f472","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445710.0276308} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.110732,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dbe8efa8-fda6-456f-a669-b9c435767944","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dbe8efa8-fda6-456f-a669-b9c435767944","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e5847d70-3d2e-11ef-b932-e1799b48160b"},"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/dbe8efa8-fda6-456f-a669-b9c435767944/signaling 200 8ms","method":"POST","requestID":"e5847d70-3d2e-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/devices/dbe8efa8-fda6-456f-a669-b9c435767944/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:10Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1323d9f-b766-4999-94dd-6a73b23faba6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2be642a4-96ad-498a-b9bb-6662fa061c23","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445710.0381346} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.364071,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c1323d9f-b766-4999-94dd-6a73b23faba6","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c1323d9f-b766-4999-94dd-6a73b23faba6","object_type":"device","rebac_allow":false,"scope_allow":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":"e5862b20-3d2e-11ef-b932-e1799b48160b"},"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/c1323d9f-b766-4999-94dd-6a73b23faba6/signaling 200 10ms","method":"POST","requestID":"e5862b20-3d2e-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/c1323d9f-b766-4999-94dd-6a73b23faba6/signaling"} device-1 | {"data":{"peerconnection":"381e64ef-dc4a-4b28-aea9-7c5895e100f5","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/381e64ef-dc4a-4b28-aea9-7c5895e100f5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"381e64ef-dc4a-4b28-aea9-7c5895e100f5","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9a7ba4a112d7e30a265738909bf17819","responseTime":2,"status":200,"url":"/auth"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/c1323d9f-b766-4999-94dd-6a73b23faba6'"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/c1323d9f-b766-4999-94dd-6a73b23faba6"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/dbe8efa8-fda6-456f-a669-b9c435767944"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/381e64ef-dc4a-4b28-aea9-7c5895e100f5"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"9a7ba4a112d7e30a265738909bf17819","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.014","http_referrer":"","http_user_agent":"node-fetch","requestID":"9a7ba4a112d7e30a265738909bf17819"} device-1 | {"data":{"peerconnection":"381e64ef-dc4a-4b28-aea9-7c5895e100f5","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"381e64ef-dc4a-4b28-aea9-7c5895e100f5","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/381e64ef-dc4a-4b28-aea9-7c5895e100f5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"381e64ef-dc4a-4b28-aea9-7c5895e100f5","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8ec1027e2f9b6c367c44c451a8b5681e","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/c1323d9f-b766-4999-94dd-6a73b23faba6"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/dbe8efa8-fda6-456f-a669-b9c435767944"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/381e64ef-dc4a-4b28-aea9-7c5895e100f5"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:12Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F381e64ef-dc4a-4b28-aea9-7c5895e100f5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3889bb65-b8bc-4472-9bca-6646b65dfc26","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445712.1161008} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.703322,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/381e64ef-dc4a-4b28-aea9-7c5895e100f5","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/381e64ef-dc4a-4b28-aea9-7c5895e100f5","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":"e6c2f0e0-3d2e-11ef-b932-e1799b48160b"},"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/381e64ef-dc4a-4b28-aea9-7c5895e100f5 200 10ms","method":"GET","requestID":"e6c2f0e0-3d2e-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/peerconnections/381e64ef-dc4a-4b28-aea9-7c5895e100f5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 42ms","method":"POST","requestID":"8ec1027e2f9b6c367c44c451a8b5681e","responseTime":42,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.046","http_referrer":"","http_user_agent":"node-fetch","requestID":"8ec1027e2f9b6c367c44c451a8b5681e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:12Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1323d9f-b766-4999-94dd-6a73b23faba6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b8765b70-74f6-4e95-b088-51ab9b93f532","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445712.1500852} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.342375,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c1323d9f-b766-4999-94dd-6a73b23faba6","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c1323d9f-b766-4999-94dd-6a73b23faba6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e6c84810-3d2e-11ef-b932-e1799b48160b"},"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/c1323d9f-b766-4999-94dd-6a73b23faba6/signaling 200 10ms","method":"POST","requestID":"e6c84810-3d2e-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/c1323d9f-b766-4999-94dd-6a73b23faba6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:12Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdbe8efa8-fda6-456f-a669-b9c435767944","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7211150b-893a-4481-8296-cfa8372819ab","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445712.1627333} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.226001,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dbe8efa8-fda6-456f-a669-b9c435767944","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dbe8efa8-fda6-456f-a669-b9c435767944","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e6ca1cd0-3d2e-11ef-b932-e1799b48160b"},"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/dbe8efa8-fda6-456f-a669-b9c435767944/signaling 200 11ms","method":"POST","requestID":"e6ca1cd0-3d2e-11ef-b932-e1799b48160b","responseTime":11,"status":200,"url":"/devices/dbe8efa8-fda6-456f-a669-b9c435767944/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxMn0.UWdIFs7ymGEHRWkIhFeYalT2jo7cvqIy8NAyZOaGrmQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a1e3936befab0b374de6402ee54dc5b5","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:12Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.192654,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445712,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxMn0.UWdIFs7ymGEHRWkIhFeYalT2jo7cvqIy8NAyZOaGrmQ"} 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":"a1e3936befab0b374de6402ee54dc5b5"},"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/50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37"} gateway-1 | {"time_local":"08/Jul/2024:13:35:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37 HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a1e3936befab0b374de6402ee54dc5b5"} experiment-1 | {"level":"info","message":"GET /experiments/50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37 200 18ms","method":"GET","requestID":"a1e3936befab0b374de6402ee54dc5b5","responseTime":18,"status":200,"url":"/experiments/50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxMn0.UWdIFs7ymGEHRWkIhFeYalT2jo7cvqIy8NAyZOaGrmQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4bb7ae341298a425b6cda195858030c5","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:12Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.149951,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:12Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445712,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxMn0.UWdIFs7ymGEHRWkIhFeYalT2jo7cvqIy8NAyZOaGrmQ"} 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":"4bb7ae341298a425b6cda195858030c5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:12Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.27898,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:12Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/381e64ef-dc4a-4b28-aea9-7c5895e100f5","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:http://localhost/peerconnections/381e64ef-dc4a-4b28-aea9-7c5895e100f5","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445712,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxMn0.UWdIFs7ymGEHRWkIhFeYalT2jo7cvqIy8NAyZOaGrmQ"} 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":"e6e78fe0-3d2e-11ef-b932-e1799b48160b"},"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/381e64ef-dc4a-4b28-aea9-7c5895e100f5' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/381e64ef-dc4a-4b28-aea9-7c5895e100f5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"381e64ef-dc4a-4b28-aea9-7c5895e100f5","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3ab13a673c570b2142bb64205dc218f6","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/c1323d9f-b766-4999-94dd-6a73b23faba6"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/dbe8efa8-fda6-456f-a669-b9c435767944"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/381e64ef-dc4a-4b28-aea9-7c5895e100f5"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"72f83a6d0ad31f8d1ca78fd6d5bd8b12","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F381e64ef-dc4a-4b28-aea9-7c5895e100f5': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F381e64ef-dc4a-4b28-aea9-7c5895e100f5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"1ecbeb8f-c8b7-4039-b2f2-1edd2ea418d0","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445712.3871129} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/c1323d9f-b766-4999-94dd-6a73b23faba6"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/dbe8efa8-fda6-456f-a669-b9c435767944"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/381e64ef-dc4a-4b28-aea9-7c5895e100f5"}}},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7eb9e196-e9e0-4649-8712-2716854128e1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445712.3878133} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e6e78fe0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} device-1 | {"data":{"peerconnection":"381e64ef-dc4a-4b28-aea9-7c5895e100f5","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/381e64ef-dc4a-4b28-aea9-7c5895e100f5 204 56ms","method":"DELETE","requestID":"e6e78fe0-3d2e-11ef-b932-e1799b48160b","responseTime":56,"status":204,"url":"/peerconnections/381e64ef-dc4a-4b28-aea9-7c5895e100f5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:12Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc1323d9f-b766-4999-94dd-6a73b23faba6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"348d1bda-79b3-461f-a9f6-f01e433a3779","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445712.4399002} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.952201,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c1323d9f-b766-4999-94dd-6a73b23faba6","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c1323d9f-b766-4999-94dd-6a73b23faba6","object_type":"device","rebac_allow":false,"scope_allow":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":"e6f41300-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"0acaa865-10ce-4145-8f63-e34fa1b5d512","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445712.4473193} device-1 | {"level":"info","message":"POST /devices/c1323d9f-b766-4999-94dd-6a73b23faba6/signaling 200 14ms","method":"POST","requestID":"e6f41300-3d2e-11ef-b932-e1799b48160b","responseTime":14,"status":200,"url":"/devices/c1323d9f-b766-4999-94dd-6a73b23faba6/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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a024a2a9-a99f-4da6-b199-8b03dde2f358","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445712.4475737} 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":"4bb7ae341298a425b6cda195858030c5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:12Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdbe8efa8-fda6-456f-a669-b9c435767944","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4557ff98-bfa2-434a-8c01-77536571d01a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445712.4555528} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":1.972593,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dbe8efa8-fda6-456f-a669-b9c435767944","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dbe8efa8-fda6-456f-a669-b9c435767944","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e6f6d220-3d2e-11ef-b932-e1799b48160b"},"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/dbe8efa8-fda6-456f-a669-b9c435767944/signaling 200 12ms","method":"POST","requestID":"e6f6d220-3d2e-11ef-b932-e1799b48160b","responseTime":12,"status":200,"url":"/devices/dbe8efa8-fda6-456f-a669-b9c435767944/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37"} gateway-1 | {"time_local":"08/Jul/2024:13:35:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37 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":"4bb7ae341298a425b6cda195858030c5"} gateway-1 | {"time_local":"08/Jul/2024:13:35:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2582","request_time":"4.296","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"7c058674aff0ab05e8787453c3efffaf"} experiment-1 | {"level":"info","message":"DELETE /experiments/50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37 204 188ms","method":"DELETE","requestID":"4bb7ae341298a425b6cda195858030c5","responseTime":188,"status":204,"url":"/experiments/50cdb4a4-e2c2-4d9a-b7ad-23c756c67d37"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 140ms","method":"POST","requestID":"3ab13a673c570b2142bb64205dc218f6","responseTime":140,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.144","http_referrer":"","http_user_agent":"node-fetch","requestID":"3ab13a673c570b2142bb64205dc218f6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 138ms","method":"POST","requestID":"72f83a6d0ad31f8d1ca78fd6d5bd8b12","responseTime":138,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.145","http_referrer":"","http_user_agent":"node-fetch","requestID":"72f83a6d0ad31f8d1ca78fd6d5bd8b12"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxMn0.UWdIFs7ymGEHRWkIhFeYalT2jo7cvqIy8NAyZOaGrmQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e0038e7b2019241b71e8501d8dd50a84","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:13:35:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2490","request_time":"2.822","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0b33473b9c7d76989b23e61182ed50b9"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/dbe8efa8-fda6-456f-a669-b9c435767944' closed"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:12Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.842928,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445712,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxMn0.UWdIFs7ymGEHRWkIhFeYalT2jo7cvqIy8NAyZOaGrmQ"} 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":"e0038e7b2019241b71e8501d8dd50a84"},"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/c1323d9f-b766-4999-94dd-6a73b23faba6' 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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ec54d89-fc58-4628-8f88-f70430cc62be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5f6901e6-ebb9-4dc9-a4b0-b8bb4f9b28d4","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445712.5528622} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e0038e7b2019241b71e8501d8dd50a84"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5100e324-b2d9-4132-aee6-e867c056958a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445712.5580716} 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":"e0038e7b2019241b71e8501d8dd50a84"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ec54d89-fc58-4628-8f88-f70430cc62be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"451aaa8a-0525-4430-a149-2cd4f4a9e59f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445712.573418} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2ebd8166-d306-4d9f-8b14-2b20dce6ca27","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445712.5734677} 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":"e0038e7b2019241b71e8501d8dd50a84"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ec54d89-fc58-4628-8f88-f70430cc62be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ec54d89-fc58-4628-8f88-f70430cc62be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:12.573392211Z"}]},"request_id":"b1ebff07-2d63-4c59-8e5d-cda12014b044","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445712.5782657} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e0038e7b2019241b71e8501d8dd50a84"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e0038e7b2019241b71e8501d8dd50a84"} device-1 | {"level":"info","message":"POST /devices? 201 52ms","method":"POST","requestID":"e0038e7b2019241b71e8501d8dd50a84","responseTime":52,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxMn0.UWdIFs7ymGEHRWkIhFeYalT2jo7cvqIy8NAyZOaGrmQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1a269ec912543720d7c14f05a6ded60a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:12Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.712169,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445712,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxMn0.UWdIFs7ymGEHRWkIhFeYalT2jo7cvqIy8NAyZOaGrmQ"} 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":"1a269ec912543720d7c14f05a6ded60a"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"67921509-7b4b-4162-906e-fa518f721760","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445712.6037104} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1a269ec912543720d7c14f05a6ded60a"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"364778a8-1894-4ead-89ca-20e0a81608a1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445712.6089532} 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":"1a269ec912543720d7c14f05a6ded60a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"697bcbf3-0c8f-43fd-9379-f5756861affa","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445712.6196103} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7868cc09-8b05-41c5-b306-60a2790e212e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445712.6199052} 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":"1a269ec912543720d7c14f05a6ded60a"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:12.619572709Z"}]},"request_id":"ae26c25a-1f58-4435-a867-fabe322ab803","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445712.624944} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1a269ec912543720d7c14f05a6ded60a"},"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":"1a269ec912543720d7c14f05a6ded60a","responseTime":41,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:13:35:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1a269ec912543720d7c14f05a6ded60a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxM30.n7kFD9w8gjhZp-yq5ZsPSBPjjyACT_CQSnX1JeEEemg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"b725c1e994949ae7649418bcf666682d","responseTime":7,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxM30.n7kFD9w8gjhZp-yq5ZsPSBPjjyACT_CQSnX1JeEEemg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"34fccc2ff8a5a3a769013e608eff0082","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:13Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.658558,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:13Z"} authorization-1 | {"client_addr":"127.0.0.1:46072","level":"info","msg":"Received request.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0ec54d89-fc58-4628-8f88-f70430cc62be","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/0ec54d89-fc58-4628-8f88-f70430cc62be","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445713,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxM30.n7kFD9w8gjhZp-yq5ZsPSBPjjyACT_CQSnX1JeEEemg"} 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":"b725c1e994949ae7649418bcf666682d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:46072","level":"info","msg":"Sent response.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.865722,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445713,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxM30.n7kFD9w8gjhZp-yq5ZsPSBPjjyACT_CQSnX1JeEEemg"} 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":"34fccc2ff8a5a3a769013e608eff0082"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ec54d89-fc58-4628-8f88-f70430cc62be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ec54d89-fc58-4628-8f88-f70430cc62be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:12.573392211Z"}]},"request_id":"11fab3ef-6cff-47ed-87b5-94e93aa5972b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445713.1108403} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b725c1e994949ae7649418bcf666682d"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:12.619572709Z"}]},"request_id":"b1c9db73-0a36-41ea-a65d-e01b5ba8f8cf","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445713.1116736} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"34fccc2ff8a5a3a769013e608eff0082"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e37e9c44-cb6a-499d-80eb-68e0ecb8a321","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445713.1161916} 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":"b725c1e994949ae7649418bcf666682d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7abc8bd8-e314-47dc-b296-733a8ab80eab","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445713.1177516} 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":"34fccc2ff8a5a3a769013e608eff0082"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:12.619572709Z"}]},"request_id":"3899634b-ee3e-40e2-9b12-06b438600f65","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445713.120786} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"34fccc2ff8a5a3a769013e608eff0082"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.031","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"34fccc2ff8a5a3a769013e608eff0082"} device-1 | {"level":"info","message":"PATCH /devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b 200 22ms","method":"PATCH","requestID":"34fccc2ff8a5a3a769013e608eff0082","responseTime":22,"status":200,"url":"/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxM30.n7kFD9w8gjhZp-yq5ZsPSBPjjyACT_CQSnX1JeEEemg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bfb9f237131bb34b174c3a039462af22","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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ec54d89-fc58-4628-8f88-f70430cc62be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ec54d89-fc58-4628-8f88-f70430cc62be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:12.573392211Z"}]},"request_id":"45e3c1f8-1ba8-43ed-9a15-6ad0c509b275","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445713.1314833} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b725c1e994949ae7649418bcf666682d"},"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:58630","level":"info","msg":"Received request.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:13Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.695641,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:13Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445713,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxM30.n7kFD9w8gjhZp-yq5ZsPSBPjjyACT_CQSnX1JeEEemg"} device-1 | {"level":"info","message":"PATCH /devices/0ec54d89-fc58-4628-8f88-f70430cc62be 200 34ms","method":"PATCH","requestID":"b725c1e994949ae7649418bcf666682d","responseTime":34,"status":200,"url":"/devices/0ec54d89-fc58-4628-8f88-f70430cc62be"} gateway-1 | {"time_local":"08/Jul/2024:13:35:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/0ec54d89-fc58-4628-8f88-f70430cc62be HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.043","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"b725c1e994949ae7649418bcf666682d"} 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":"bfb9f237131bb34b174c3a039462af22"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxM30.n7kFD9w8gjhZp-yq5ZsPSBPjjyACT_CQSnX1JeEEemg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0d4bc48c425cdfc286c9d42a4aea6710","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:13Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.703497,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0ec54d89-fc58-4628-8f88-f70430cc62be","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/0ec54d89-fc58-4628-8f88-f70430cc62be","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445713,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxM30.n7kFD9w8gjhZp-yq5ZsPSBPjjyACT_CQSnX1JeEEemg"} 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":"0d4bc48c425cdfc286c9d42a4aea6710"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.022","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"bfb9f237131bb34b174c3a039462af22"} device-1 | {"level":"info","message":"POST /devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b/websocket 200 17ms","method":"POST","requestID":"bfb9f237131bb34b174c3a039462af22","responseTime":17,"status":200,"url":"/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/0ec54d89-fc58-4628-8f88-f70430cc62be/websocket 200 15ms","method":"POST","requestID":"0d4bc48c425cdfc286c9d42a4aea6710","responseTime":15,"status":200,"url":"/devices/0ec54d89-fc58-4628-8f88-f70430cc62be/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:35:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0ec54d89-fc58-4628-8f88-f70430cc62be/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.018","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"0d4bc48c425cdfc286c9d42a4aea6710"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0ec54d89-fc58-4628-8f88-f70430cc62be' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxM30.n7kFD9w8gjhZp-yq5ZsPSBPjjyACT_CQSnX1JeEEemg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4a969d480e12b6fde1cec8b983287ebd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:13Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.88669,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0ec54d89-fc58-4628-8f88-f70430cc62be","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/0ec54d89-fc58-4628-8f88-f70430cc62be","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445713,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxM30.n7kFD9w8gjhZp-yq5ZsPSBPjjyACT_CQSnX1JeEEemg"} 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":"4a969d480e12b6fde1cec8b983287ebd"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ec54d89-fc58-4628-8f88-f70430cc62be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ec54d89-fc58-4628-8f88-f70430cc62be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:12.573392211Z"}]},"request_id":"75018f88-d33d-4947-b6ca-cfb8fc33c2ef","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445713.1857173} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4a969d480e12b6fde1cec8b983287ebd"},"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/0ec54d89-fc58-4628-8f88-f70430cc62be? 200 11ms","method":"GET","requestID":"4a969d480e12b6fde1cec8b983287ebd","responseTime":11,"status":200,"url":"/devices/0ec54d89-fc58-4628-8f88-f70430cc62be?"} gateway-1 | {"time_local":"08/Jul/2024:13:35:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0ec54d89-fc58-4628-8f88-f70430cc62be? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4a969d480e12b6fde1cec8b983287ebd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxM30.n7kFD9w8gjhZp-yq5ZsPSBPjjyACT_CQSnX1JeEEemg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3556dceb5e80e6750ad2d9b517abcb88","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:13Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.145327,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445713,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxM30.n7kFD9w8gjhZp-yq5ZsPSBPjjyACT_CQSnX1JeEEemg"} 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":"3556dceb5e80e6750ad2d9b517abcb88"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:12.619572709Z"}]},"request_id":"8b33abb3-b6fc-4fb8-a430-2024ba1d25b7","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445713.2024212} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3556dceb5e80e6750ad2d9b517abcb88"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3556dceb5e80e6750ad2d9b517abcb88"} device-1 | {"level":"info","message":"GET /devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b? 200 12ms","method":"GET","requestID":"3556dceb5e80e6750ad2d9b517abcb88","responseTime":12,"status":200,"url":"/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxM30.n7kFD9w8gjhZp-yq5ZsPSBPjjyACT_CQSnX1JeEEemg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"51d1a5b8f2148b03e99cf35348e42d2e","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:58630","level":"info","msg":"Received request.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:13Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.945445,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445713,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxM30.n7kFD9w8gjhZp-yq5ZsPSBPjjyACT_CQSnX1JeEEemg"} 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":"51d1a5b8f2148b03e99cf35348e42d2e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/699b2cdd-6069-4bf1-a82a-4dc71b19743d"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/699b2cdd-6069-4bf1-a82a-4dc71b19743d"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/699b2cdd-6069-4bf1-a82a-4dc71b19743d"},"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:58630","level":"info","msg":"Received request.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:13Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.723618,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:13Z"} authorization-1 | {"client_addr":"127.0.0.1:46072","level":"info","msg":"Received request.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0ec54d89-fc58-4628-8f88-f70430cc62be","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/0ec54d89-fc58-4628-8f88-f70430cc62be","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445713,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxM30.n7kFD9w8gjhZp-yq5ZsPSBPjjyACT_CQSnX1JeEEemg"} 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":"e7713240-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:46072","level":"info","msg":"Sent response.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.86703,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445713,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxM30.n7kFD9w8gjhZp-yq5ZsPSBPjjyACT_CQSnX1JeEEemg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e7718060-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ec54d89-fc58-4628-8f88-f70430cc62be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ec54d89-fc58-4628-8f88-f70430cc62be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:12.573392211Z"}]},"request_id":"13af62b6-5f3d-4104-ab5b-a39c2db67518","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445713.2614655} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e7713240-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:12.619572709Z"}]},"request_id":"e1092fb7-44d8-4931-963c-9daffc5889e5","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445713.2629778} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e7718060-3d2e-11ef-b932-e1799b48160b"},"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/0ec54d89-fc58-4628-8f88-f70430cc62be? 200 15ms","method":"GET","requestID":"e7713240-3d2e-11ef-b932-e1799b48160b","responseTime":15,"status":200,"url":"/devices/0ec54d89-fc58-4628-8f88-f70430cc62be?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b? 200 14ms","method":"GET","requestID":"e7718060-3d2e-11ef-b932-e1799b48160b","responseTime":14,"status":200,"url":"/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/699b2cdd-6069-4bf1-a82a-4dc71b19743d"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/699b2cdd-6069-4bf1-a82a-4dc71b19743d"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/699b2cdd-6069-4bf1-a82a-4dc71b19743d"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/699b2cdd-6069-4bf1-a82a-4dc71b19743d"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/699b2cdd-6069-4bf1-a82a-4dc71b19743d"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/699b2cdd-6069-4bf1-a82a-4dc71b19743d"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/699b2cdd-6069-4bf1-a82a-4dc71b19743d"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/699b2cdd-6069-4bf1-a82a-4dc71b19743d"},"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/699b2cdd-6069-4bf1-a82a-4dc71b19743d"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:13Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.112465,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:13Z"} authorization-1 | {"client_addr":"127.0.0.1:46072","level":"info","msg":"Received request.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0ec54d89-fc58-4628-8f88-f70430cc62be","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/0ec54d89-fc58-4628-8f88-f70430cc62be","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445713,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxM30.n7kFD9w8gjhZp-yq5ZsPSBPjjyACT_CQSnX1JeEEemg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e77b6b70-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:46072","level":"info","msg":"Sent response.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.897691,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445713,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxM30.n7kFD9w8gjhZp-yq5ZsPSBPjjyACT_CQSnX1JeEEemg"} 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":"e77bb990-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ec54d89-fc58-4628-8f88-f70430cc62be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ec54d89-fc58-4628-8f88-f70430cc62be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:12.573392211Z"}]},"request_id":"93f65b06-4e21-4360-8707-64bb4c325229","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445713.3344498} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:12.619572709Z"}]},"request_id":"cd50e4d5-2fe3-42c0-9c87-2bf0662ebd92","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445713.3355517} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e77b6b70-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e77bb990-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ec54d89-fc58-4628-8f88-f70430cc62be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5ea43730-b804-41e7-893b-3dba78b5d3a2","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445713.337939} authorization-1 | {"client_addr":"127.0.0.1:55140","level":"info","msg":"Received request.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:13Z"} authorization-1 | {"client_addr":"127.0.0.1:55140","level":"info","msg":"Sent response.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.841073,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0ec54d89-fc58-4628-8f88-f70430cc62be","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0ec54d89-fc58-4628-8f88-f70430cc62be","object_type":"device","rebac_allow":false,"scope_allow":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":"e77c07b0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F699b2cdd-6069-4bf1-a82a-4dc71b19743d#owner@http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F699b2cdd-6069-4bf1-a82a-4dc71b19743d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"055d1bae-f5f4-4386-bc9c-fca7da690fe9","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445713.344275} device-1 | {"level":"info","message":"GET /devices/0ec54d89-fc58-4628-8f88-f70430cc62be? 200 25ms","method":"GET","requestID":"e77b6b70-3d2e-11ef-b932-e1799b48160b","responseTime":25,"status":200,"url":"/devices/0ec54d89-fc58-4628-8f88-f70430cc62be?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d255305f-5bdd-49b7-bdc8-7df14fe480d1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445713.3444698} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b? 200 24ms","method":"GET","requestID":"e77bb990-3d2e-11ef-b932-e1799b48160b","responseTime":24,"status":200,"url":"/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/0ec54d89-fc58-4628-8f88-f70430cc62be/signaling 200 23ms","method":"POST","requestID":"e77c07b0-3d2e-11ef-b932-e1799b48160b","responseTime":23,"status":200,"url":"/devices/0ec54d89-fc58-4628-8f88-f70430cc62be/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"51d1a5b8f2148b03e99cf35348e42d2e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:13Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ec54d89-fc58-4628-8f88-f70430cc62be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"be40df2f-85c3-4dad-9132-f92c8acf5a40","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445713.3523817} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.042784,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0ec54d89-fc58-4628-8f88-f70430cc62be","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0ec54d89-fc58-4628-8f88-f70430cc62be","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e77fb130-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/699b2cdd-6069-4bf1-a82a-4dc71b19743d","user":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/Jul/2024:13:35:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"785","request_time":"0.148","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"51d1a5b8f2148b03e99cf35348e42d2e"} experiment-1 | {"level":"info","message":"POST /experiments? 201 144ms","method":"POST","requestID":"51d1a5b8f2148b03e99cf35348e42d2e","responseTime":144,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:46072","level":"info","msg":"Received request.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:13Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/0ec54d89-fc58-4628-8f88-f70430cc62be/signaling 200 10ms","method":"POST","requestID":"e77fb130-3d2e-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/0ec54d89-fc58-4628-8f88-f70430cc62be/signaling"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ad247d1e-33b1-4eac-afb2-c7dfa96686bb","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445713.3582294} authorization-1 | {"client_addr":"127.0.0.1:46072","level":"info","msg":"Sent response.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.668888,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e7807480-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxM30.n7kFD9w8gjhZp-yq5ZsPSBPjjyACT_CQSnX1JeEEemg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"883e6dc97900ef03bb4dec1e275d6235","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:13Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e8b33659-72b8-4922-ae51-de37f6f21864","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445713.3644426} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.458054,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:13Z"} device-1 | {"level":"info","message":"POST /devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b/signaling 200 14ms","method":"POST","requestID":"e7807480-3d2e-11ef-b932-e1799b48160b","responseTime":14,"status":200,"url":"/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b/signaling"} authorization-1 | {"client_addr":"127.0.0.1:46072","level":"info","msg":"Received request.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e78185f0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:46072","level":"info","msg":"Sent response.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.980542,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0ec54d89-fc58-4628-8f88-f70430cc62be","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/0ec54d89-fc58-4628-8f88-f70430cc62be","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445713,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxM30.n7kFD9w8gjhZp-yq5ZsPSBPjjyACT_CQSnX1JeEEemg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"883e6dc97900ef03bb4dec1e275d6235"},"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/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b/signaling 200 13ms","method":"POST","requestID":"e78185f0-3d2e-11ef-b932-e1799b48160b","responseTime":13,"status":200,"url":"/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b/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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ec54d89-fc58-4628-8f88-f70430cc62be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ec54d89-fc58-4628-8f88-f70430cc62be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:12.573392211Z"}]},"request_id":"d4ee6a9e-98ba-4a1f-91d9-df2c41c3039a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445713.3728895} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/699b2cdd-6069-4bf1-a82a-4dc71b19743d"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/699b2cdd-6069-4bf1-a82a-4dc71b19743d"},"level":"info","message":"Building connection plan"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"883e6dc97900ef03bb4dec1e275d6235"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"74249944-c3c9-4be7-8be5-08b168ed1de7"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"79f0566d-a32f-49e8-b593-d7953e668d06"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"8f1086f1-571c-4b59-882d-56b7844b88b0"}]},"level":"info","message":"Built pairwise service configurations"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/0ec54d89-fc58-4628-8f88-f70430cc62be"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0ec54d89-fc58-4628-8f88-f70430cc62be? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"883e6dc97900ef03bb4dec1e275d6235"} device-1 | {"level":"info","message":"GET /devices/0ec54d89-fc58-4628-8f88-f70430cc62be? 200 16ms","method":"GET","requestID":"883e6dc97900ef03bb4dec1e275d6235","responseTime":16,"status":200,"url":"/devices/0ec54d89-fc58-4628-8f88-f70430cc62be?"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:13Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.743499,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445713,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxM30.n7kFD9w8gjhZp-yq5ZsPSBPjjyACT_CQSnX1JeEEemg"} 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":"e7844510-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxM30.n7kFD9w8gjhZp-yq5ZsPSBPjjyACT_CQSnX1JeEEemg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dd2c1fc3f8851cd6182a6046c3136199","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:13Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.297082,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445713,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxM30.n7kFD9w8gjhZp-yq5ZsPSBPjjyACT_CQSnX1JeEEemg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dd2c1fc3f8851cd6182a6046c3136199"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","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%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"2a2d6983-2f2f-41c8-b897-bbfe815eedca","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445713.3901157} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d199f569-1bda-4bbb-9ec0-9f0912d4ab1c","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445713.390284} 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":"e7844510-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:12.619572709Z"}]},"request_id":"2c1150f2-66d4-4774-bedb-c368a2f02303","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445713.3943121} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dd2c1fc3f8851cd6182a6046c3136199"},"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/c8c7017e-5a02-47e2-ba68-7a2bdd86989e'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c8c7017e-5a02-47e2-ba68-7a2bdd86989e'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 27ms","method":"POST","requestID":"e7844510-3d2e-11ef-b932-e1799b48160b","responseTime":27,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dd2c1fc3f8851cd6182a6046c3136199"} device-1 | {"level":"info","message":"GET /devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b? 200 20ms","method":"GET","requestID":"dd2c1fc3f8851cd6182a6046c3136199","responseTime":20,"status":200,"url":"/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/699b2cdd-6069-4bf1-a82a-4dc71b19743d"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:13Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ec54d89-fc58-4628-8f88-f70430cc62be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"497b0134-2323-46a5-a73f-e0583c097ded","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445713.4353192} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.332702,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0ec54d89-fc58-4628-8f88-f70430cc62be","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0ec54d89-fc58-4628-8f88-f70430cc62be","object_type":"device","rebac_allow":false,"scope_allow":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":"e78c8270-3d2e-11ef-b932-e1799b48160b"},"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/0ec54d89-fc58-4628-8f88-f70430cc62be/signaling 200 8ms","method":"POST","requestID":"e78c8270-3d2e-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/devices/0ec54d89-fc58-4628-8f88-f70430cc62be/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:13Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"07bd7c24-06bd-4aff-955b-ecd3fe1d2284","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445713.4453804} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.538605,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","object_type":"device","rebac_allow":false,"scope_allow":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":"e78e0910-3d2e-11ef-b932-e1799b48160b"},"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/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b/signaling 200 8ms","method":"POST","requestID":"e78e0910-3d2e-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b/signaling"} device-1 | {"data":{"peerconnection":"c8c7017e-5a02-47e2-ba68-7a2bdd86989e","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"c8c7017e-5a02-47e2-ba68-7a2bdd86989e","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/c8c7017e-5a02-47e2-ba68-7a2bdd86989e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c8c7017e-5a02-47e2-ba68-7a2bdd86989e","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4628600cac9721053eb3926b96c174bb","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/0ec54d89-fc58-4628-8f88-f70430cc62be"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c8c7017e-5a02-47e2-ba68-7a2bdd86989e"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"4628600cac9721053eb3926b96c174bb","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"4628600cac9721053eb3926b96c174bb"} device-1 | {"data":{"peerconnection":"c8c7017e-5a02-47e2-ba68-7a2bdd86989e","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"c8c7017e-5a02-47e2-ba68-7a2bdd86989e","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/c8c7017e-5a02-47e2-ba68-7a2bdd86989e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c8c7017e-5a02-47e2-ba68-7a2bdd86989e","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5ff195c430511c2006e50de5661d234d","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/0ec54d89-fc58-4628-8f88-f70430cc62be"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c8c7017e-5a02-47e2-ba68-7a2bdd86989e"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:15Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc8c7017e-5a02-47e2-ba68-7a2bdd86989e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a3e6b09d-6105-418a-be9f-a1d2acc1ffa1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445715.5280626} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.888343,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c8c7017e-5a02-47e2-ba68-7a2bdd86989e","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c8c7017e-5a02-47e2-ba68-7a2bdd86989e","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":"e8cb6b10-3d2e-11ef-b932-e1799b48160b"},"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/c8c7017e-5a02-47e2-ba68-7a2bdd86989e 200 12ms","method":"GET","requestID":"e8cb6b10-3d2e-11ef-b932-e1799b48160b","responseTime":12,"status":200,"url":"/peerconnections/c8c7017e-5a02-47e2-ba68-7a2bdd86989e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 42ms","method":"POST","requestID":"5ff195c430511c2006e50de5661d234d","responseTime":42,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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":"5ff195c430511c2006e50de5661d234d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:15Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"695f29fa-3031-460c-be0c-139b1203b734","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445715.5622168} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.794194,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e8d0c240-3d2e-11ef-b932-e1799b48160b"},"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/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b/signaling 200 10ms","method":"POST","requestID":"e8d0c240-3d2e-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:15Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ec54d89-fc58-4628-8f88-f70430cc62be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ae45fae2-45d8-4f9c-bbd2-1b945583099b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445715.5735705} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.617172,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0ec54d89-fc58-4628-8f88-f70430cc62be","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0ec54d89-fc58-4628-8f88-f70430cc62be","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e8d2be10-3d2e-11ef-b932-e1799b48160b"},"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/0ec54d89-fc58-4628-8f88-f70430cc62be/signaling 200 9ms","method":"POST","requestID":"e8d2be10-3d2e-11ef-b932-e1799b48160b","responseTime":9,"status":200,"url":"/devices/0ec54d89-fc58-4628-8f88-f70430cc62be/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxNX0.ndDJ88kWzq8LSFNxe0K58TdQp0_fkZ2IOAKFgVk5zAM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"de3af66858d7a22e9dccf12931fb2bc0","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/699b2cdd-6069-4bf1-a82a-4dc71b19743d"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:15Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.195627,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/699b2cdd-6069-4bf1-a82a-4dc71b19743d","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/699b2cdd-6069-4bf1-a82a-4dc71b19743d","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445715,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxNX0.ndDJ88kWzq8LSFNxe0K58TdQp0_fkZ2IOAKFgVk5zAM"} 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":"de3af66858d7a22e9dccf12931fb2bc0"},"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/699b2cdd-6069-4bf1-a82a-4dc71b19743d"} experiment-1 | {"level":"info","message":"GET /experiments/699b2cdd-6069-4bf1-a82a-4dc71b19743d 200 16ms","method":"GET","requestID":"de3af66858d7a22e9dccf12931fb2bc0","responseTime":16,"status":200,"url":"/experiments/699b2cdd-6069-4bf1-a82a-4dc71b19743d"} gateway-1 | {"time_local":"08/Jul/2024:13:35:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/699b2cdd-6069-4bf1-a82a-4dc71b19743d HTTP/1.1","status": "200","body_bytes_sent":"858","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"de3af66858d7a22e9dccf12931fb2bc0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxNX0.ndDJ88kWzq8LSFNxe0K58TdQp0_fkZ2IOAKFgVk5zAM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"6a5ac6909913a71a075bb629f0583a6b","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/699b2cdd-6069-4bf1-a82a-4dc71b19743d"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:15Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.315115,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:15Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/699b2cdd-6069-4bf1-a82a-4dc71b19743d","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/699b2cdd-6069-4bf1-a82a-4dc71b19743d","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445715,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxNX0.ndDJ88kWzq8LSFNxe0K58TdQp0_fkZ2IOAKFgVk5zAM"} 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":"6a5ac6909913a71a075bb629f0583a6b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/699b2cdd-6069-4bf1-a82a-4dc71b19743d"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:15Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.249211,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:15Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c8c7017e-5a02-47e2-ba68-7a2bdd86989e","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:http://localhost/peerconnections/c8c7017e-5a02-47e2-ba68-7a2bdd86989e","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445715,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxNX0.ndDJ88kWzq8LSFNxe0K58TdQp0_fkZ2IOAKFgVk5zAM"} 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":"e8f05830-3d2e-11ef-b932-e1799b48160b"},"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/c8c7017e-5a02-47e2-ba68-7a2bdd86989e' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c8c7017e-5a02-47e2-ba68-7a2bdd86989e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c8c7017e-5a02-47e2-ba68-7a2bdd86989e","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"25065eb8b29f7c8a7c6f8d81a4bde094","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc8c7017e-5a02-47e2-ba68-7a2bdd86989e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc8c7017e-5a02-47e2-ba68-7a2bdd86989e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"d80b3419-df4d-4226-9ae4-ce17f99f439f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445715.7868662} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"af9bf7ca-b35a-441b-a832-048ebd161c3d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445715.7871952} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/0ec54d89-fc58-4628-8f88-f70430cc62be"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c8c7017e-5a02-47e2-ba68-7a2bdd86989e"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e7fbbefcf488c82faf8514eca415b3a4","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/0ec54d89-fc58-4628-8f88-f70430cc62be"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c8c7017e-5a02-47e2-ba68-7a2bdd86989e"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e8f05830-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"data":{"peerconnection":"c8c7017e-5a02-47e2-ba68-7a2bdd86989e","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/c8c7017e-5a02-47e2-ba68-7a2bdd86989e 204 45ms","method":"DELETE","requestID":"e8f05830-3d2e-11ef-b932-e1799b48160b","responseTime":45,"status":204,"url":"/peerconnections/c8c7017e-5a02-47e2-ba68-7a2bdd86989e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/699b2cdd-6069-4bf1-a82a-4dc71b19743d"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:15Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"951da079-3b94-45ae-a17b-284a2258a39d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445715.8456933} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.7503,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b","object_type":"device","rebac_allow":false,"scope_allow":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":"e8fbc9e0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F699b2cdd-6069-4bf1-a82a-4dc71b19743d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F699b2cdd-6069-4bf1-a82a-4dc71b19743d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"7ebff8d6-19aa-483e-9203-be68bc3b22be","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445715.8490915} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"00f6fa60-e73c-4798-900c-875d68c7393a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445715.8496826} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling 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":"6a5ac6909913a71a075bb629f0583a6b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device-1 | {"level":"info","message":"POST /devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b/signaling 200 18ms","method":"POST","requestID":"e8fbc9e0-3d2e-11ef-b932-e1799b48160b","responseTime":18,"status":200,"url":"/devices/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:15Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0ec54d89-fc58-4628-8f88-f70430cc62be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0b597cbe-d712-42d6-8c17-40eccd764a7b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445715.8689308} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.202,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0ec54d89-fc58-4628-8f88-f70430cc62be","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0ec54d89-fc58-4628-8f88-f70430cc62be","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e8ff4c50-3d2e-11ef-b932-e1799b48160b"},"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/0ec54d89-fc58-4628-8f88-f70430cc62be/signaling 200 14ms","method":"POST","requestID":"e8ff4c50-3d2e-11ef-b932-e1799b48160b","responseTime":14,"status":200,"url":"/devices/0ec54d89-fc58-4628-8f88-f70430cc62be/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/699b2cdd-6069-4bf1-a82a-4dc71b19743d"} gateway-1 | {"time_local":"08/Jul/2024:13:35:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/699b2cdd-6069-4bf1-a82a-4dc71b19743d HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.182","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6a5ac6909913a71a075bb629f0583a6b"} gateway-1 | {"time_local":"08/Jul/2024:13:35:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2490","request_time":"2.774","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"3dbbcb4c887165c7097f3b2e5bbcae46"} gateway-1 | {"time_local":"08/Jul/2024:13:35:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2490","request_time":"2.766","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"1cd9ace095d6dcb88039e1177f0c7634"} experiment-1 | {"level":"info","message":"DELETE /experiments/699b2cdd-6069-4bf1-a82a-4dc71b19743d 204 175ms","method":"DELETE","requestID":"6a5ac6909913a71a075bb629f0583a6b","responseTime":175,"status":204,"url":"/experiments/699b2cdd-6069-4bf1-a82a-4dc71b19743d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 137ms","method":"POST","requestID":"25065eb8b29f7c8a7c6f8d81a4bde094","responseTime":137,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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":"25065eb8b29f7c8a7c6f8d81a4bde094"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 136ms","method":"POST","requestID":"e7fbbefcf488c82faf8514eca415b3a4","responseTime":136,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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":"e7fbbefcf488c82faf8514eca415b3a4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxNX0.ndDJ88kWzq8LSFNxe0K58TdQp0_fkZ2IOAKFgVk5zAM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5d2bceadc74f8ffa02e4771e05aba876","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/0ec54d89-fc58-4628-8f88-f70430cc62be' closed"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:15Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.889551,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445715,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxNX0.ndDJ88kWzq8LSFNxe0K58TdQp0_fkZ2IOAKFgVk5zAM"} 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":"5d2bceadc74f8ffa02e4771e05aba876"},"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/0f05f64f-0c8e-46f3-b98e-c83c6b3d6c2b' 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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd90ce4c1-4546-4a97-bcc8-9179935cd180","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e8e8842f-5227-4a47-bf06-996266984d14","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445715.9567335} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5d2bceadc74f8ffa02e4771e05aba876"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2206185f-581d-4036-9756-540976aa55f4","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445715.9637127} 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":"5d2bceadc74f8ffa02e4771e05aba876"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd90ce4c1-4546-4a97-bcc8-9179935cd180","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"5627c2ce-5656-4b33-a65d-2afb109960ca","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445715.972767} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cd9373af-9ecc-4d60-8314-12709ef4ad45","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445715.9729145} 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":"5d2bceadc74f8ffa02e4771e05aba876"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd90ce4c1-4546-4a97-bcc8-9179935cd180","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd90ce4c1-4546-4a97-bcc8-9179935cd180","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:15.972740903Z"}]},"request_id":"feb15632-fb90-410a-b708-c3a5c7fc8a6e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445715.9781904} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5d2bceadc74f8ffa02e4771e05aba876"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5d2bceadc74f8ffa02e4771e05aba876"} device-1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"5d2bceadc74f8ffa02e4771e05aba876","responseTime":51,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxNX0.ndDJ88kWzq8LSFNxe0K58TdQp0_fkZ2IOAKFgVk5zAM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bd5c3583aa31288e6484706654be7070","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:15Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.9196,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445715,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxNX0.ndDJ88kWzq8LSFNxe0K58TdQp0_fkZ2IOAKFgVk5zAM"} 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":"bd5c3583aa31288e6484706654be7070"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7225d74e-362e-475d-980e-a80c7e28e1e0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6ff579c3-3fc2-48ae-9f56-750dfe075616","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445716.0029473} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bd5c3583aa31288e6484706654be7070"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e1f02440-d1a1-4edb-aff6-22de65613442","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445716.008888} 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":"bd5c3583aa31288e6484706654be7070"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7225d74e-362e-475d-980e-a80c7e28e1e0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"dfdff8cb-3aca-43b1-8d22-b0c1b29f5979","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445716.0235198} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ce13b281-2520-424a-85ba-1c6448767ce8","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445716.0238037} 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":"bd5c3583aa31288e6484706654be7070"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7225d74e-362e-475d-980e-a80c7e28e1e0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7225d74e-362e-475d-980e-a80c7e28e1e0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:16.023496982Z"}]},"request_id":"1020cfdd-951f-4184-ba02-340d05bf96e1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445716.0285656} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bd5c3583aa31288e6484706654be7070"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bd5c3583aa31288e6484706654be7070"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"bd5c3583aa31288e6484706654be7070","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cadb3582faf04ac23e0b81cff6610b60","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:35:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/7225d74e-362e-475d-980e-a80c7e28e1e0/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":"cadb3582faf04ac23e0b81cff6610b60"} device-1 | {"level":"info","message":"OPTIONS /devices/7225d74e-362e-475d-980e-a80c7e28e1e0/websocket 200 1ms","method":"OPTIONS","requestID":"cadb3582faf04ac23e0b81cff6610b60","responseTime":1,"status":200,"url":"/devices/7225d74e-362e-475d-980e-a80c7e28e1e0/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0814f8a8e66b0e6cb2207e6212aad460","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:35:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/d90ce4c1-4546-4a97-bcc8-9179935cd180/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.006","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0814f8a8e66b0e6cb2207e6212aad460"} device-1 | {"level":"info","message":"OPTIONS /devices/d90ce4c1-4546-4a97-bcc8-9179935cd180/websocket 200 2ms","method":"OPTIONS","requestID":"0814f8a8e66b0e6cb2207e6212aad460","responseTime":2,"status":200,"url":"/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxOH0.Y0y4VGmOTCGoPT3A9itwt3RPZoBrHtm88sAZo4kgB0I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"bef985bc4139956bc40e981ed04f0f2d","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:18Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxOH0.Y0y4VGmOTCGoPT3A9itwt3RPZoBrHtm88sAZo4kgB0I","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.150995,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:18Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e0f970b35b6eaa3610d8d9c047da3427","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7225d74e-362e-475d-980e-a80c7e28e1e0","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/7225d74e-362e-475d-980e-a80c7e28e1e0","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445718,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxOH0.Y0y4VGmOTCGoPT3A9itwt3RPZoBrHtm88sAZo4kgB0I"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bef985bc4139956bc40e981ed04f0f2d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.386976,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445718,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxOH0.Y0y4VGmOTCGoPT3A9itwt3RPZoBrHtm88sAZo4kgB0I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e0f970b35b6eaa3610d8d9c047da3427"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7225d74e-362e-475d-980e-a80c7e28e1e0/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.032","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"bef985bc4139956bc40e981ed04f0f2d"} device-1 | {"level":"info","message":"POST /devices/7225d74e-362e-475d-980e-a80c7e28e1e0/websocket 200 25ms","method":"POST","requestID":"bef985bc4139956bc40e981ed04f0f2d","responseTime":25,"status":200,"url":"/devices/7225d74e-362e-475d-980e-a80c7e28e1e0/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d90ce4c1-4546-4a97-bcc8-9179935cd180/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":"e0f970b35b6eaa3610d8d9c047da3427"} device-1 | {"level":"info","message":"POST /devices/d90ce4c1-4546-4a97-bcc8-9179935cd180/websocket 200 31ms","method":"POST","requestID":"e0f970b35b6eaa3610d8d9c047da3427","responseTime":31,"status":200,"url":"/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7225d74e-362e-475d-980e-a80c7e28e1e0' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxOH0.Y0y4VGmOTCGoPT3A9itwt3RPZoBrHtm88sAZo4kgB0I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ab1d41f40dd8f7bcf58c208e797bd812","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.679913,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445718,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxOH0.Y0y4VGmOTCGoPT3A9itwt3RPZoBrHtm88sAZo4kgB0I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab1d41f40dd8f7bcf58c208e797bd812"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd90ce4c1-4546-4a97-bcc8-9179935cd180","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd90ce4c1-4546-4a97-bcc8-9179935cd180","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:15.972740903Z"}]},"request_id":"cf2c423d-f564-434f-8600-a3c589847279","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.0863152} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab1d41f40dd8f7bcf58c208e797bd812"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d90ce4c1-4546-4a97-bcc8-9179935cd180? 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":"ab1d41f40dd8f7bcf58c208e797bd812"} device-1 | {"level":"info","message":"GET /devices/d90ce4c1-4546-4a97-bcc8-9179935cd180? 200 15ms","method":"GET","requestID":"ab1d41f40dd8f7bcf58c208e797bd812","responseTime":15,"status":200,"url":"/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxOH0.Y0y4VGmOTCGoPT3A9itwt3RPZoBrHtm88sAZo4kgB0I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"1221034647ba221aa8e7a9780e14bda7","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.678353,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7225d74e-362e-475d-980e-a80c7e28e1e0","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/7225d74e-362e-475d-980e-a80c7e28e1e0","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445718,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxOH0.Y0y4VGmOTCGoPT3A9itwt3RPZoBrHtm88sAZo4kgB0I"} 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":"1221034647ba221aa8e7a9780e14bda7"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7225d74e-362e-475d-980e-a80c7e28e1e0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7225d74e-362e-475d-980e-a80c7e28e1e0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:16.023496982Z"}]},"request_id":"883f4643-8bb7-42e1-870a-843ecab60b18","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.1090846} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1221034647ba221aa8e7a9780e14bda7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7225d74e-362e-475d-980e-a80c7e28e1e0? 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":"1221034647ba221aa8e7a9780e14bda7"} device-1 | {"level":"info","message":"GET /devices/7225d74e-362e-475d-980e-a80c7e28e1e0? 200 14ms","method":"GET","requestID":"1221034647ba221aa8e7a9780e14bda7","responseTime":14,"status":200,"url":"/devices/7225d74e-362e-475d-980e-a80c7e28e1e0?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxOH0.Y0y4VGmOTCGoPT3A9itwt3RPZoBrHtm88sAZo4kgB0I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4e971325bdf750f6735a7c13cdb2f70d","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:58630","level":"info","msg":"Received request.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.068455,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445718,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxOH0.Y0y4VGmOTCGoPT3A9itwt3RPZoBrHtm88sAZo4kgB0I"} 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":"4e971325bdf750f6735a7c13cdb2f70d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fd97a53c-ea55-4372-86c2-d20427675fab"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fd97a53c-ea55-4372-86c2-d20427675fab"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fd97a53c-ea55-4372-86c2-d20427675fab"},"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:58630","level":"info","msg":"Received request.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.194389,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445718,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxOH0.Y0y4VGmOTCGoPT3A9itwt3RPZoBrHtm88sAZo4kgB0I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea5e8e30-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Received request.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Sent response.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.691686,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7225d74e-362e-475d-980e-a80c7e28e1e0","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/7225d74e-362e-475d-980e-a80c7e28e1e0","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445718,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxOH0.Y0y4VGmOTCGoPT3A9itwt3RPZoBrHtm88sAZo4kgB0I"} 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":"ea5edc50-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd90ce4c1-4546-4a97-bcc8-9179935cd180","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd90ce4c1-4546-4a97-bcc8-9179935cd180","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:15.972740903Z"}]},"request_id":"d5261501-09ac-41d2-ac5c-4442607972a1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.1758025} 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":"ea5e8e30-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7225d74e-362e-475d-980e-a80c7e28e1e0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7225d74e-362e-475d-980e-a80c7e28e1e0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:16.023496982Z"}]},"request_id":"c899c894-82bb-4cbf-a70d-9d158da4ba55","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.1862047} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/d90ce4c1-4546-4a97-bcc8-9179935cd180? 200 24ms","method":"GET","requestID":"ea5e8e30-3d2e-11ef-b932-e1799b48160b","responseTime":24,"status":200,"url":"/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea5edc50-3d2e-11ef-b932-e1799b48160b"},"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/7225d74e-362e-475d-980e-a80c7e28e1e0? 200 27ms","method":"GET","requestID":"ea5edc50-3d2e-11ef-b932-e1799b48160b","responseTime":27,"status":200,"url":"/devices/7225d74e-362e-475d-980e-a80c7e28e1e0?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fd97a53c-ea55-4372-86c2-d20427675fab"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fd97a53c-ea55-4372-86c2-d20427675fab"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fd97a53c-ea55-4372-86c2-d20427675fab"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fd97a53c-ea55-4372-86c2-d20427675fab"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fd97a53c-ea55-4372-86c2-d20427675fab"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fd97a53c-ea55-4372-86c2-d20427675fab"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fd97a53c-ea55-4372-86c2-d20427675fab"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fd97a53c-ea55-4372-86c2-d20427675fab"},"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:58630","level":"info","msg":"Received request.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.563063,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:18Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fd97a53c-ea55-4372-86c2-d20427675fab"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445718,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxOH0.Y0y4VGmOTCGoPT3A9itwt3RPZoBrHtm88sAZo4kgB0I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea6bfbb0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Received request.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Sent response.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.008367,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7225d74e-362e-475d-980e-a80c7e28e1e0","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/7225d74e-362e-475d-980e-a80c7e28e1e0","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445718,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxOH0.Y0y4VGmOTCGoPT3A9itwt3RPZoBrHtm88sAZo4kgB0I"} 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":"ea6c49d0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.24593,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd90ce4c1-4546-4a97-bcc8-9179935cd180","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6107a349-f56c-47c1-b6e2-64cda4c3e96c","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.262535} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180","object_type":"device","rebac_allow":false,"scope_allow":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":"ea6c70e0-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7225d74e-362e-475d-980e-a80c7e28e1e0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7225d74e-362e-475d-980e-a80c7e28e1e0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:16.023496982Z"}]},"request_id":"449ccbc7-7e07-41c8-a225-25ab07add94a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.2667} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea6c49d0-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd90ce4c1-4546-4a97-bcc8-9179935cd180","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd90ce4c1-4546-4a97-bcc8-9179935cd180","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:15.972740903Z"}]},"request_id":"98c6db3a-72da-4194-8edd-fad65be242dc","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.2704358} device-1 | {"level":"info","message":"POST /devices/d90ce4c1-4546-4a97-bcc8-9179935cd180/signaling 200 17ms","method":"POST","requestID":"ea6c70e0-3d2e-11ef-b932-e1799b48160b","responseTime":17,"status":200,"url":"/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea6bfbb0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:18Z"} device-1 | {"level":"info","message":"GET /devices/7225d74e-362e-475d-980e-a80c7e28e1e0? 200 25ms","method":"GET","requestID":"ea6c49d0-3d2e-11ef-b932-e1799b48160b","responseTime":25,"status":200,"url":"/devices/7225d74e-362e-475d-980e-a80c7e28e1e0?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/d90ce4c1-4546-4a97-bcc8-9179935cd180? 200 29ms","method":"GET","requestID":"ea6bfbb0-3d2e-11ef-b932-e1799b48160b","responseTime":29,"status":200,"url":"/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180?"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffd97a53c-ea55-4372-86c2-d20427675fab#owner@http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffd97a53c-ea55-4372-86c2-d20427675fab","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"300b878a-77f3-4acf-84b7-6179d8747f1d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.2815685} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7225d74e-362e-475d-980e-a80c7e28e1e0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bbd5fecc-d0d3-4fc6-adf5-9dd6696ebc07","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.2818327} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6005671e-093e-47d6-a676-8bd779dbaa0e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.2819479} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.531873,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7225d74e-362e-475d-980e-a80c7e28e1e0","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7225d74e-362e-475d-980e-a80c7e28e1e0","object_type":"device","rebac_allow":false,"scope_allow":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":"ea6f7e20-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} 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":"4e971325bdf750f6735a7c13cdb2f70d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":23}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:18Z"} device-1 | {"level":"info","message":"POST /devices/7225d74e-362e-475d-980e-a80c7e28e1e0/signaling 200 13ms","method":"POST","requestID":"ea6f7e20-3d2e-11ef-b932-e1799b48160b","responseTime":13,"status":200,"url":"/devices/7225d74e-362e-475d-980e-a80c7e28e1e0/signaling"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd90ce4c1-4546-4a97-bcc8-9179935cd180","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4e236410-bacc-41ab-ac68-3b70f8643ea0","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.288962} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.03791,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea70b6a0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/fd97a53c-ea55-4372-86c2-d20427675fab","user":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.179","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4e971325bdf750f6735a7c13cdb2f70d"} experiment-1 | {"level":"info","message":"POST /experiments? 201 175ms","method":"POST","requestID":"4e971325bdf750f6735a7c13cdb2f70d","responseTime":175,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"POST /devices/d90ce4c1-4546-4a97-bcc8-9179935cd180/signaling 200 12ms","method":"POST","requestID":"ea70b6a0-3d2e-11ef-b932-e1799b48160b","responseTime":12,"status":200,"url":"/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxOH0.Y0y4VGmOTCGoPT3A9itwt3RPZoBrHtm88sAZo4kgB0I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1199ba08c7becb87cd360559e6cd477e","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:18Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7225d74e-362e-475d-980e-a80c7e28e1e0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4b782279-1183-4b58-a0e3-f516abf811f6","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.3010733} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.65245,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Received request.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7225d74e-362e-475d-980e-a80c7e28e1e0","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7225d74e-362e-475d-980e-a80c7e28e1e0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea72d980-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Sent response.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.984218,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445718,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxOH0.Y0y4VGmOTCGoPT3A9itwt3RPZoBrHtm88sAZo4kgB0I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1199ba08c7becb87cd360559e6cd477e"},"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/7225d74e-362e-475d-980e-a80c7e28e1e0/signaling 200 11ms","method":"POST","requestID":"ea72d980-3d2e-11ef-b932-e1799b48160b","responseTime":11,"status":200,"url":"/devices/7225d74e-362e-475d-980e-a80c7e28e1e0/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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd90ce4c1-4546-4a97-bcc8-9179935cd180","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd90ce4c1-4546-4a97-bcc8-9179935cd180","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:15.972740903Z"}]},"request_id":"89f7743a-7c9f-467d-a651-b94de63199c7","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.3081012} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fd97a53c-ea55-4372-86c2-d20427675fab"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fd97a53c-ea55-4372-86c2-d20427675fab"},"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":"2af886cd-25e9-4b65-888c-53d58350754b"},{"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":"ee10e184-a8b3-4cd2-bc4f-fa107e3c5264"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"78b0eec7-d974-4f5f-8d1b-ad11f98039a1"}]},"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":"1199ba08c7becb87cd360559e6cd477e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180"},{"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/7225d74e-362e-475d-980e-a80c7e28e1e0"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d90ce4c1-4546-4a97-bcc8-9179935cd180? 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":"1199ba08c7becb87cd360559e6cd477e"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:18Z"} device-1 | {"level":"info","message":"GET /devices/d90ce4c1-4546-4a97-bcc8-9179935cd180? 200 15ms","method":"GET","requestID":"1199ba08c7becb87cd360559e6cd477e","responseTime":15,"status":200,"url":"/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180?"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.156313,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445718,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxOH0.Y0y4VGmOTCGoPT3A9itwt3RPZoBrHtm88sAZo4kgB0I"} 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":"ea752370-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxOH0.Y0y4VGmOTCGoPT3A9itwt3RPZoBrHtm88sAZo4kgB0I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f4886b868908c15f68595278db95a06d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.923257,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7225d74e-362e-475d-980e-a80c7e28e1e0","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/7225d74e-362e-475d-980e-a80c7e28e1e0","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445718,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxOH0.Y0y4VGmOTCGoPT3A9itwt3RPZoBrHtm88sAZo4kgB0I"} 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":"f4886b868908c15f68595278db95a06d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","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%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"4d99e7be-392a-4d99-9570-55b48eac86e7","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.3251643} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0ff76b0f-1b06-4326-acc5-1634c3f168ce","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.3255074} 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":"ea752370-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7225d74e-362e-475d-980e-a80c7e28e1e0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7225d74e-362e-475d-980e-a80c7e28e1e0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:16.023496982Z"}]},"request_id":"57cd1c3f-61be-4aa8-974e-6146898f0f09","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.3295016} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f4886b868908c15f68595278db95a06d"},"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/8a89b24f-785e-418b-97e6-5c3278093ff0'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/8a89b24f-785e-418b-97e6-5c3278093ff0'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 30ms","method":"POST","requestID":"ea752370-3d2e-11ef-b932-e1799b48160b","responseTime":30,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7225d74e-362e-475d-980e-a80c7e28e1e0? 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":"f4886b868908c15f68595278db95a06d"} device-1 | {"level":"info","message":"GET /devices/7225d74e-362e-475d-980e-a80c7e28e1e0? 200 20ms","method":"GET","requestID":"f4886b868908c15f68595278db95a06d","responseTime":20,"status":200,"url":"/devices/7225d74e-362e-475d-980e-a80c7e28e1e0?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fd97a53c-ea55-4372-86c2-d20427675fab"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd90ce4c1-4546-4a97-bcc8-9179935cd180","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4b867a3a-d6f6-4a66-91bf-66e376fabfec","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.3701363} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.467789,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea7d60d0-3d2e-11ef-b932-e1799b48160b"},"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/d90ce4c1-4546-4a97-bcc8-9179935cd180/signaling 200 9ms","method":"POST","requestID":"ea7d60d0-3d2e-11ef-b932-e1799b48160b","responseTime":9,"status":200,"url":"/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7225d74e-362e-475d-980e-a80c7e28e1e0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4e0f7b21-7ace-427b-b6a0-e0eb2701d1b9","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.381095} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.291364,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7225d74e-362e-475d-980e-a80c7e28e1e0","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7225d74e-362e-475d-980e-a80c7e28e1e0","object_type":"device","rebac_allow":false,"scope_allow":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":"ea7f3590-3d2e-11ef-b932-e1799b48160b"},"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/7225d74e-362e-475d-980e-a80c7e28e1e0/signaling 200 9ms","method":"POST","requestID":"ea7f3590-3d2e-11ef-b932-e1799b48160b","responseTime":9,"status":200,"url":"/devices/7225d74e-362e-475d-980e-a80c7e28e1e0/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/7225d74e-362e-475d-980e-a80c7e28e1e0'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/8a89b24f-785e-418b-97e6-5c3278093ff0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8a89b24f-785e-418b-97e6-5c3278093ff0","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c41a93c2a84ef4bad2f3350f2d5c0823","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":"new","url":"http://localhost/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180"},{"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/7225d74e-362e-475d-980e-a80c7e28e1e0"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/8a89b24f-785e-418b-97e6-5c3278093ff0"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"c41a93c2a84ef4bad2f3350f2d5c0823","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"c41a93c2a84ef4bad2f3350f2d5c0823"} device-1 | {"data":{"peerconnection":"8a89b24f-785e-418b-97e6-5c3278093ff0","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"8a89b24f-785e-418b-97e6-5c3278093ff0","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/8a89b24f-785e-418b-97e6-5c3278093ff0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8a89b24f-785e-418b-97e6-5c3278093ff0","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6f6c4c3a7d480518c0b6b8f2ac0ddac6","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/d90ce4c1-4546-4a97-bcc8-9179935cd180"},{"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/7225d74e-362e-475d-980e-a80c7e28e1e0"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/8a89b24f-785e-418b-97e6-5c3278093ff0"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8a89b24f-785e-418b-97e6-5c3278093ff0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1ce56fda-d6de-43d4-b200-02c1fd88c7b3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.4527802} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.143349,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8a89b24f-785e-418b-97e6-5c3278093ff0","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/8a89b24f-785e-418b-97e6-5c3278093ff0","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":"ea8a0b00-3d2e-11ef-b932-e1799b48160b"},"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/8a89b24f-785e-418b-97e6-5c3278093ff0 200 8ms","method":"GET","requestID":"ea8a0b00-3d2e-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/peerconnections/8a89b24f-785e-418b-97e6-5c3278093ff0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 31ms","method":"POST","requestID":"6f6c4c3a7d480518c0b6b8f2ac0ddac6","responseTime":31,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch","requestID":"6f6c4c3a7d480518c0b6b8f2ac0ddac6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd90ce4c1-4546-4a97-bcc8-9179935cd180","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"60b40f63-1840-487d-870d-ee96656adf50","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.4811053} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.438382,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180","object_type":"device","rebac_allow":false,"scope_allow":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":"ea8e50c0-3d2e-11ef-b932-e1799b48160b"},"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/d90ce4c1-4546-4a97-bcc8-9179935cd180/signaling 200 9ms","method":"POST","requestID":"ea8e50c0-3d2e-11ef-b932-e1799b48160b","responseTime":9,"status":200,"url":"/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7225d74e-362e-475d-980e-a80c7e28e1e0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d69d8bb5-3454-4934-9efc-2ffa9b3a14d1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.4914038} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.200572,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7225d74e-362e-475d-980e-a80c7e28e1e0","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7225d74e-362e-475d-980e-a80c7e28e1e0","object_type":"device","rebac_allow":false,"scope_allow":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":"ea8ffe70-3d2e-11ef-b932-e1799b48160b"},"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/7225d74e-362e-475d-980e-a80c7e28e1e0/signaling 200 8ms","method":"POST","requestID":"ea8ffe70-3d2e-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/devices/7225d74e-362e-475d-980e-a80c7e28e1e0/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxOH0.Y0y4VGmOTCGoPT3A9itwt3RPZoBrHtm88sAZo4kgB0I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"507035d94e505857214d0327140aa61e","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/fd97a53c-ea55-4372-86c2-d20427675fab"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.706196,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fd97a53c-ea55-4372-86c2-d20427675fab","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/fd97a53c-ea55-4372-86c2-d20427675fab","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445718,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxOH0.Y0y4VGmOTCGoPT3A9itwt3RPZoBrHtm88sAZo4kgB0I"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"507035d94e505857214d0327140aa61e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/fd97a53c-ea55-4372-86c2-d20427675fab"} experiment-1 | {"level":"info","message":"GET /experiments/fd97a53c-ea55-4372-86c2-d20427675fab 200 11ms","method":"GET","requestID":"507035d94e505857214d0327140aa61e","responseTime":11,"status":200,"url":"/experiments/fd97a53c-ea55-4372-86c2-d20427675fab"} gateway-1 | {"time_local":"08/Jul/2024:13:35:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/fd97a53c-ea55-4372-86c2-d20427675fab HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"507035d94e505857214d0327140aa61e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxOH0.Y0y4VGmOTCGoPT3A9itwt3RPZoBrHtm88sAZo4kgB0I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3d0e874851850e36b77269a80de0403f","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/fd97a53c-ea55-4372-86c2-d20427675fab"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.501859,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fd97a53c-ea55-4372-86c2-d20427675fab","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/fd97a53c-ea55-4372-86c2-d20427675fab","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445718,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxOH0.Y0y4VGmOTCGoPT3A9itwt3RPZoBrHtm88sAZo4kgB0I"} 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":"3d0e874851850e36b77269a80de0403f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fd97a53c-ea55-4372-86c2-d20427675fab"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.997455,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8a89b24f-785e-418b-97e6-5c3278093ff0","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:http://localhost/peerconnections/8a89b24f-785e-418b-97e6-5c3278093ff0","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445718,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxOH0.Y0y4VGmOTCGoPT3A9itwt3RPZoBrHtm88sAZo4kgB0I"} 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":"ea9b4910-3d2e-11ef-b932-e1799b48160b"},"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/8a89b24f-785e-418b-97e6-5c3278093ff0' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/8a89b24f-785e-418b-97e6-5c3278093ff0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8a89b24f-785e-418b-97e6-5c3278093ff0","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8a89b24f-785e-418b-97e6-5c3278093ff0': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8a89b24f-785e-418b-97e6-5c3278093ff0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"bf5268ba-1ff8-4f01-a223-eb6a7df42fe9","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.5776236} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f8bd1bd8-b6ae-43bb-898e-2ee5216830ae","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.5779145} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"671577650ab2c625d39f29d2236c33fa","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":"ea9b4910-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"43974a81f7609a9bb24564ffa0e25323","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/d90ce4c1-4546-4a97-bcc8-9179935cd180"},{"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/7225d74e-362e-475d-980e-a80c7e28e1e0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8a89b24f-785e-418b-97e6-5c3278093ff0"}}},"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/d90ce4c1-4546-4a97-bcc8-9179935cd180"},{"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/7225d74e-362e-475d-980e-a80c7e28e1e0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8a89b24f-785e-418b-97e6-5c3278093ff0"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/8a89b24f-785e-418b-97e6-5c3278093ff0 204 21ms","method":"DELETE","requestID":"ea9b4910-3d2e-11ef-b932-e1799b48160b","responseTime":21,"status":204,"url":"/peerconnections/8a89b24f-785e-418b-97e6-5c3278093ff0"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fd97a53c-ea55-4372-86c2-d20427675fab"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd90ce4c1-4546-4a97-bcc8-9179935cd180","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"67603cc6-0052-438c-82a0-6d1782151425","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.604501} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.462815,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180","object_type":"device","rebac_allow":false,"scope_allow":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":"eaa13c80-3d2e-11ef-b932-e1799b48160b"},"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/d90ce4c1-4546-4a97-bcc8-9179935cd180/signaling 200 8ms","method":"POST","requestID":"eaa13c80-3d2e-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffd97a53c-ea55-4372-86c2-d20427675fab': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffd97a53c-ea55-4372-86c2-d20427675fab","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"28445be8-c00c-4622-aab7-ab0725bf619a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.611749} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b3b77918-0553-4241-bd01-458d51ca46f3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.611996} 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":"3d0e874851850e36b77269a80de0403f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7225d74e-362e-475d-980e-a80c7e28e1e0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d1da5590-794e-4a41-939d-2c7cb7e84c84","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.6143985} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.162891,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7225d74e-362e-475d-980e-a80c7e28e1e0","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7225d74e-362e-475d-980e-a80c7e28e1e0","object_type":"device","rebac_allow":false,"scope_allow":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":"eaa2c320-3d2e-11ef-b932-e1799b48160b"},"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/7225d74e-362e-475d-980e-a80c7e28e1e0/signaling 200 8ms","method":"POST","requestID":"eaa2c320-3d2e-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/devices/7225d74e-362e-475d-980e-a80c7e28e1e0/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/fd97a53c-ea55-4372-86c2-d20427675fab"} gateway-1 | {"time_local":"08/Jul/2024:13:35:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/fd97a53c-ea55-4372-86c2-d20427675fab HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.121","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3d0e874851850e36b77269a80de0403f"} experiment-1 | {"level":"info","message":"DELETE /experiments/fd97a53c-ea55-4372-86c2-d20427675fab 204 118ms","method":"DELETE","requestID":"3d0e874851850e36b77269a80de0403f","responseTime":118,"status":204,"url":"/experiments/fd97a53c-ea55-4372-86c2-d20427675fab"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 87ms","method":"POST","requestID":"671577650ab2c625d39f29d2236c33fa","responseTime":87,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.090","http_referrer":"","http_user_agent":"node-fetch","requestID":"671577650ab2c625d39f29d2236c33fa"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 87ms","method":"POST","requestID":"43974a81f7609a9bb24564ffa0e25323","responseTime":87,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.091","http_referrer":"","http_user_agent":"node-fetch","requestID":"43974a81f7609a9bb24564ffa0e25323"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxOH0.Y0y4VGmOTCGoPT3A9itwt3RPZoBrHtm88sAZo4kgB0I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8582a6d1d116e582cd63fc0c7e28b40c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.943214,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445718,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxOH0.Y0y4VGmOTCGoPT3A9itwt3RPZoBrHtm88sAZo4kgB0I"} 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":"8582a6d1d116e582cd63fc0c7e28b40c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} gateway-1 | {"time_local":"08/Jul/2024:13:35:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2887","request_time":"0.616","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d248f540b4f694927a1ef22c9366fc70"} gateway-1 | {"time_local":"08/Jul/2024:13:35:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2885","request_time":"0.631","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"bbb6e37ef643a439916bc466a2123a91"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d90ce4c1-4546-4a97-bcc8-9179935cd180' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7225d74e-362e-475d-980e-a80c7e28e1e0' 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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F812c31b0-dffd-4de9-88d1-45067e371360","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d2d469ec-ccfa-40e2-8a40-7da80c9ad149","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.6958656} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8582a6d1d116e582cd63fc0c7e28b40c"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"df7bd4ed-780e-4f29-b167-c412969b9fe7","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.7003107} 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":"8582a6d1d116e582cd63fc0c7e28b40c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F812c31b0-dffd-4de9-88d1-45067e371360","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"af013b61-a01a-4509-a231-9d91cbef5bfe","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.7101908} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"14fa36f1-ed4a-44a7-b2a8-2af5acbc98b1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.710448} 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":"8582a6d1d116e582cd63fc0c7e28b40c"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F812c31b0-dffd-4de9-88d1-45067e371360","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F812c31b0-dffd-4de9-88d1-45067e371360","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:18.710166915Z"}]},"request_id":"e7fcad31-9d20-44ee-85dc-fbbeb865184d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.7136652} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8582a6d1d116e582cd63fc0c7e28b40c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8582a6d1d116e582cd63fc0c7e28b40c"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"8582a6d1d116e582cd63fc0c7e28b40c","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxOH0.Y0y4VGmOTCGoPT3A9itwt3RPZoBrHtm88sAZo4kgB0I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c1c6d120cef513f7a76c459e9a5e240c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.7313,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445718,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcxOH0.Y0y4VGmOTCGoPT3A9itwt3RPZoBrHtm88sAZo4kgB0I"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c1c6d120cef513f7a76c459e9a5e240c"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d31d2c-db0a-4d8f-941a-babba2d1a667","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ac7a1c82-95ed-409c-859b-d0fdffaf718d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.7361186} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c1c6d120cef513f7a76c459e9a5e240c"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7235d970-f704-43e3-9e7c-97ad08db9b4f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.739994} 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":"c1c6d120cef513f7a76c459e9a5e240c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d31d2c-db0a-4d8f-941a-babba2d1a667","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"8cf8217e-b8b2-4e60-92b1-e59198718044","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.7493916} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7bb1c28c-c545-4fa3-b558-ee11ddae0339","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.7501414} 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":"c1c6d120cef513f7a76c459e9a5e240c"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d31d2c-db0a-4d8f-941a-babba2d1a667","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d31d2c-db0a-4d8f-941a-babba2d1a667","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:18.749359567Z"}]},"request_id":"70d1a4bc-b665-4426-af69-81fb93f371fd","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445718.7536807} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c1c6d120cef513f7a76c459e9a5e240c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c1c6d120cef513f7a76c459e9a5e240c"} device-1 | {"level":"info","message":"POST /devices? 201 35ms","method":"POST","requestID":"c1c6d120cef513f7a76c459e9a5e240c","responseTime":35,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9d47e4253f4a22e486301a68f0bb4923","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:35:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667/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":"9d47e4253f4a22e486301a68f0bb4923"} device-1 | {"level":"info","message":"OPTIONS /devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667/websocket 200 0ms","method":"OPTIONS","requestID":"9d47e4253f4a22e486301a68f0bb4923","responseTime":0,"status":200,"url":"/devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a1014b73c7bdae319afd08220c7e4b63","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:35:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/812c31b0-dffd-4de9-88d1-45067e371360/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":"a1014b73c7bdae319afd08220c7e4b63"} device-1 | {"level":"info","message":"OPTIONS /devices/812c31b0-dffd-4de9-88d1-45067e371360/websocket 200 1ms","method":"OPTIONS","requestID":"a1014b73c7bdae319afd08220c7e4b63","responseTime":1,"status":200,"url":"/devices/812c31b0-dffd-4de9-88d1-45067e371360/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyMH0.T3MJfEgv5uNoOFZZeMe5xpVs4hxp40tx_lNaSVKg5eE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"698276903e6d1b75cd9013b8137a48a3","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:20Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyMH0.T3MJfEgv5uNoOFZZeMe5xpVs4hxp40tx_lNaSVKg5eE","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.253624,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:20Z"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"66ce60e239f924f09c5591c6a46be0d3","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445720,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyMH0.T3MJfEgv5uNoOFZZeMe5xpVs4hxp40tx_lNaSVKg5eE"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket 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":"698276903e6d1b75cd9013b8137a48a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.252131,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/812c31b0-dffd-4de9-88d1-45067e371360","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/812c31b0-dffd-4de9-88d1-45067e371360","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445720,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyMH0.T3MJfEgv5uNoOFZZeMe5xpVs4hxp40tx_lNaSVKg5eE"} 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":"66ce60e239f924f09c5591c6a46be0d3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/812c31b0-dffd-4de9-88d1-45067e371360/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.040","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"66ce60e239f924f09c5591c6a46be0d3"} device-1 | {"level":"info","message":"POST /devices/812c31b0-dffd-4de9-88d1-45067e371360/websocket 200 32ms","method":"POST","requestID":"66ce60e239f924f09c5591c6a46be0d3","responseTime":32,"status":200,"url":"/devices/812c31b0-dffd-4de9-88d1-45067e371360/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667/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":"698276903e6d1b75cd9013b8137a48a3"} device-1 | {"level":"info","message":"POST /devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667/websocket 200 41ms","method":"POST","requestID":"698276903e6d1b75cd9013b8137a48a3","responseTime":41,"status":200,"url":"/devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/812c31b0-dffd-4de9-88d1-45067e371360' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyMH0.T3MJfEgv5uNoOFZZeMe5xpVs4hxp40tx_lNaSVKg5eE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"500b76f8206b850f297d9fab059205ce","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.998215,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/812c31b0-dffd-4de9-88d1-45067e371360","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/812c31b0-dffd-4de9-88d1-45067e371360","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445720,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyMH0.T3MJfEgv5uNoOFZZeMe5xpVs4hxp40tx_lNaSVKg5eE"} 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":"500b76f8206b850f297d9fab059205ce"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F812c31b0-dffd-4de9-88d1-45067e371360","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F812c31b0-dffd-4de9-88d1-45067e371360","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:18.710166915Z"}]},"request_id":"9e637711-6bf4-4705-a1ae-9c8d9ba6c9ee","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445720.801409} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"500b76f8206b850f297d9fab059205ce"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/812c31b0-dffd-4de9-88d1-45067e371360? 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":"500b76f8206b850f297d9fab059205ce"} device-1 | {"level":"info","message":"GET /devices/812c31b0-dffd-4de9-88d1-45067e371360? 200 15ms","method":"GET","requestID":"500b76f8206b850f297d9fab059205ce","responseTime":15,"status":200,"url":"/devices/812c31b0-dffd-4de9-88d1-45067e371360?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyMH0.T3MJfEgv5uNoOFZZeMe5xpVs4hxp40tx_lNaSVKg5eE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ea8eb35891931d06f0c3da6263b2bb47","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.020748,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445720,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyMH0.T3MJfEgv5uNoOFZZeMe5xpVs4hxp40tx_lNaSVKg5eE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea8eb35891931d06f0c3da6263b2bb47"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d31d2c-db0a-4d8f-941a-babba2d1a667","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d31d2c-db0a-4d8f-941a-babba2d1a667","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:18.749359567Z"}]},"request_id":"a3396ac7-caf8-46e8-a3c8-b23a670c863a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445720.8214774} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea8eb35891931d06f0c3da6263b2bb47"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667? 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":"ea8eb35891931d06f0c3da6263b2bb47"} device-1 | {"level":"info","message":"GET /devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667? 200 14ms","method":"GET","requestID":"ea8eb35891931d06f0c3da6263b2bb47","responseTime":14,"status":200,"url":"/devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyMH0.T3MJfEgv5uNoOFZZeMe5xpVs4hxp40tx_lNaSVKg5eE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a71e90d8537bf18900cc773341ce84e9","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:58630","level":"info","msg":"Received request.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.213194,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445720,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyMH0.T3MJfEgv5uNoOFZZeMe5xpVs4hxp40tx_lNaSVKg5eE"} 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":"a71e90d8537bf18900cc773341ce84e9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4cbd50ef-7894-46c4-b5ae-ad72d834e99f"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4cbd50ef-7894-46c4-b5ae-ad72d834e99f"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4cbd50ef-7894-46c4-b5ae-ad72d834e99f"},"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:58630","level":"info","msg":"Received request.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.317448,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/812c31b0-dffd-4de9-88d1-45067e371360","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/812c31b0-dffd-4de9-88d1-45067e371360","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445720,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyMH0.T3MJfEgv5uNoOFZZeMe5xpVs4hxp40tx_lNaSVKg5eE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebfc5fb0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Received request.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:20Z"} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Sent response.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.267352,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445720,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyMH0.T3MJfEgv5uNoOFZZeMe5xpVs4hxp40tx_lNaSVKg5eE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebfc86c0-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F812c31b0-dffd-4de9-88d1-45067e371360","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F812c31b0-dffd-4de9-88d1-45067e371360","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:18.710166915Z"}]},"request_id":"c3f7424c-12f7-472a-8598-5c0ceee72aab","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445720.8859148} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebfc5fb0-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d31d2c-db0a-4d8f-941a-babba2d1a667","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d31d2c-db0a-4d8f-941a-babba2d1a667","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:18.749359567Z"}]},"request_id":"db1b2c23-4e48-4eb7-99c7-1efdf51f9f17","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445720.8870597} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebfc86c0-3d2e-11ef-b932-e1799b48160b"},"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/812c31b0-dffd-4de9-88d1-45067e371360? 200 18ms","method":"GET","requestID":"ebfc5fb0-3d2e-11ef-b932-e1799b48160b","responseTime":18,"status":200,"url":"/devices/812c31b0-dffd-4de9-88d1-45067e371360?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667? 200 18ms","method":"GET","requestID":"ebfc86c0-3d2e-11ef-b932-e1799b48160b","responseTime":18,"status":200,"url":"/devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4cbd50ef-7894-46c4-b5ae-ad72d834e99f"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4cbd50ef-7894-46c4-b5ae-ad72d834e99f"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4cbd50ef-7894-46c4-b5ae-ad72d834e99f"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4cbd50ef-7894-46c4-b5ae-ad72d834e99f"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4cbd50ef-7894-46c4-b5ae-ad72d834e99f"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4cbd50ef-7894-46c4-b5ae-ad72d834e99f"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4cbd50ef-7894-46c4-b5ae-ad72d834e99f"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4cbd50ef-7894-46c4-b5ae-ad72d834e99f"},"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/4cbd50ef-7894-46c4-b5ae-ad72d834e99f"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.702938,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/812c31b0-dffd-4de9-88d1-45067e371360","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/812c31b0-dffd-4de9-88d1-45067e371360","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445720,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyMH0.T3MJfEgv5uNoOFZZeMe5xpVs4hxp40tx_lNaSVKg5eE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ec0698e0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Received request.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:20Z"} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Sent response.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.054903,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445720,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyMH0.T3MJfEgv5uNoOFZZeMe5xpVs4hxp40tx_lNaSVKg5eE"} 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":"ec06e700-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F812c31b0-dffd-4de9-88d1-45067e371360","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F812c31b0-dffd-4de9-88d1-45067e371360","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:18.710166915Z"}]},"request_id":"42e1831f-479b-490b-b538-41a819270933","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445720.9580302} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ec0698e0-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d31d2c-db0a-4d8f-941a-babba2d1a667","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d31d2c-db0a-4d8f-941a-babba2d1a667","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:18.749359567Z"}]},"request_id":"7cde037d-a27b-4070-8e7d-9e82e61289f4","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445720.9599173} 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":"ec06e700-3d2e-11ef-b932-e1799b48160b"},"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:55160","level":"info","msg":"Received request.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:20Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F812c31b0-dffd-4de9-88d1-45067e371360","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0909e1e1-91d0-4260-8777-0e8851381fcb","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445720.9645588} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:55160","level":"info","msg":"Sent response.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.731102,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:20Z"} device-1 | {"level":"info","message":"GET /devices/812c31b0-dffd-4de9-88d1-45067e371360? 200 24ms","method":"GET","requestID":"ec0698e0-3d2e-11ef-b932-e1799b48160b","responseTime":24,"status":200,"url":"/devices/812c31b0-dffd-4de9-88d1-45067e371360?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/812c31b0-dffd-4de9-88d1-45067e371360","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/812c31b0-dffd-4de9-88d1-45067e371360","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ec073520-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":17}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667? 200 25ms","method":"GET","requestID":"ec06e700-3d2e-11ef-b932-e1799b48160b","responseTime":25,"status":200,"url":"/devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/812c31b0-dffd-4de9-88d1-45067e371360/signaling 200 26ms","method":"POST","requestID":"ec073520-3d2e-11ef-b932-e1799b48160b","responseTime":26,"status":200,"url":"/devices/812c31b0-dffd-4de9-88d1-45067e371360/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4cbd50ef-7894-46c4-b5ae-ad72d834e99f#owner@http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4cbd50ef-7894-46c4-b5ae-ad72d834e99f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"7f6fa2fe-2fde-4a8e-9ee3-2a3950d93f51","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445720.974122} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fa4439f8-5382-4eaa-b6f6-40553ecaddfa","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445720.9744048} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} 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":"a71e90d8537bf18900cc773341ce84e9"},"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:58630","level":"info","msg":"Received request.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:20Z"} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Received request.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:20Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F812c31b0-dffd-4de9-88d1-45067e371360","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0273968c-e683-4397-94aa-c37482db3e9b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445720.9816086} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.085188,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/812c31b0-dffd-4de9-88d1-45067e371360","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/812c31b0-dffd-4de9-88d1-45067e371360","object_type":"device","rebac_allow":false,"scope_allow":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":"ec0b2cc0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d31d2c-db0a-4d8f-941a-babba2d1a667","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f365e07b-c0b6-409e-bba9-ce74f5f99e3e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445720.9847183} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Sent response.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.077072,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667","object_type":"device","rebac_allow":false,"scope_allow":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":"ec0ba1f0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/4cbd50ef-7894-46c4-b5ae-ad72d834e99f","user":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/Jul/2024:13:35:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.162","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a71e90d8537bf18900cc773341ce84e9"} experiment-1 | {"level":"info","message":"POST /experiments? 201 155ms","method":"POST","requestID":"a71e90d8537bf18900cc773341ce84e9","responseTime":155,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/812c31b0-dffd-4de9-88d1-45067e371360/signaling 200 18ms","method":"POST","requestID":"ec0b2cc0-3d2e-11ef-b932-e1799b48160b","responseTime":18,"status":200,"url":"/devices/812c31b0-dffd-4de9-88d1-45067e371360/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667/signaling 200 17ms","method":"POST","requestID":"ec0ba1f0-3d2e-11ef-b932-e1799b48160b","responseTime":17,"status":200,"url":"/devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyMH0.T3MJfEgv5uNoOFZZeMe5xpVs4hxp40tx_lNaSVKg5eE","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:20Z"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f866b675f6dd839b0f483dacf93bed31","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d31d2c-db0a-4d8f-941a-babba2d1a667","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6b8afa24-b89e-43bf-8e96-949e4599b106","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445720.9990566} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.174275,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:20Z"} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Received request.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667","object_type":"device","rebac_allow":false,"scope_allow":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":"ec0e6110-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Sent response.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.813957,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/812c31b0-dffd-4de9-88d1-45067e371360","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/812c31b0-dffd-4de9-88d1-45067e371360","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445720,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyMH0.T3MJfEgv5uNoOFZZeMe5xpVs4hxp40tx_lNaSVKg5eE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f866b675f6dd839b0f483dacf93bed31"},"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/c7d31d2c-db0a-4d8f-941a-babba2d1a667/signaling 200 13ms","method":"POST","requestID":"ec0e6110-3d2e-11ef-b932-e1799b48160b","responseTime":13,"status":200,"url":"/devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4cbd50ef-7894-46c4-b5ae-ad72d834e99f"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4cbd50ef-7894-46c4-b5ae-ad72d834e99f"},"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":"e384ab00-1065-49cc-b0aa-057d89440e77"},{"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":"4a47014e-11ca-44c1-aba8-3d82f9b57449"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"98f8e17d-033d-4fbd-ae02-f411c81a1619"}]},"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/812c31b0-dffd-4de9-88d1-45067e371360"},{"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/c7d31d2c-db0a-4d8f-941a-babba2d1a667"}],"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F812c31b0-dffd-4de9-88d1-45067e371360","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F812c31b0-dffd-4de9-88d1-45067e371360","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:18.710166915Z"}]},"request_id":"bd975106-6778-467a-849b-23f7c07d5266","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445721.0085423} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f866b675f6dd839b0f483dacf93bed31"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/812c31b0-dffd-4de9-88d1-45067e371360? 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":"f866b675f6dd839b0f483dacf93bed31"} device-1 | {"level":"info","message":"GET /devices/812c31b0-dffd-4de9-88d1-45067e371360? 200 19ms","method":"GET","requestID":"f866b675f6dd839b0f483dacf93bed31","responseTime":19,"status":200,"url":"/devices/812c31b0-dffd-4de9-88d1-45067e371360?"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:21Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.413233,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445720,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyMH0.T3MJfEgv5uNoOFZZeMe5xpVs4hxp40tx_lNaSVKg5eE"} 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":"ec114740-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyMX0.ok4jq4IFB-B2AlRTgexGQBW_1WXeSlLzJ_UwPxHJEs8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"36e61ed8aa9b4ff2cd522ea7da3ed6f8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:21Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.957283,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445721,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyMX0.ok4jq4IFB-B2AlRTgexGQBW_1WXeSlLzJ_UwPxHJEs8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"36e61ed8aa9b4ff2cd522ea7da3ed6f8"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d31d2c-db0a-4d8f-941a-babba2d1a667","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d31d2c-db0a-4d8f-941a-babba2d1a667","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:18.749359567Z"}]},"request_id":"bb128c8c-87c8-4521-b33a-97845d4f4522","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445721.0318027} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"36e61ed8aa9b4ff2cd522ea7da3ed6f8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","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%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"f95a7007-4ac4-4f02-9947-7abc0b6789f0","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445721.033281} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6605d7d7-d115-4026-b827-b26b3a616dff","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445721.0335426} 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":"ec114740-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667? 200 14ms","method":"GET","requestID":"36e61ed8aa9b4ff2cd522ea7da3ed6f8","responseTime":14,"status":200,"url":"/devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667?"} gateway-1 | {"time_local":"08/Jul/2024:13:35:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667? 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":"36e61ed8aa9b4ff2cd522ea7da3ed6f8"} 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/d030c9e5-4860-4db6-8ee4-546e10c528eb'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/d030c9e5-4860-4db6-8ee4-546e10c528eb'"} 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":"ec114740-3d2e-11ef-b932-e1799b48160b","responseTime":39,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4cbd50ef-7894-46c4-b5ae-ad72d834e99f"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:21Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F812c31b0-dffd-4de9-88d1-45067e371360","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"78c1c718-5dc1-417d-93c5-91aab94c7952","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445721.0827422} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.354485,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/812c31b0-dffd-4de9-88d1-45067e371360","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/812c31b0-dffd-4de9-88d1-45067e371360","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ec1b5960-3d2e-11ef-b932-e1799b48160b"},"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/812c31b0-dffd-4de9-88d1-45067e371360/signaling 200 8ms","method":"POST","requestID":"ec1b5960-3d2e-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/devices/812c31b0-dffd-4de9-88d1-45067e371360/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:21Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d31d2c-db0a-4d8f-941a-babba2d1a667","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f987acfd-9b80-4513-8e1f-34c81c7a0d31","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445721.0921056} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.241222,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667","object_type":"device","rebac_allow":false,"scope_allow":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":"ec1ce000-3d2e-11ef-b932-e1799b48160b"},"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/c7d31d2c-db0a-4d8f-941a-babba2d1a667/signaling 200 7ms","method":"POST","requestID":"ec1ce000-3d2e-11ef-b932-e1799b48160b","responseTime":7,"status":200,"url":"/devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/812c31b0-dffd-4de9-88d1-45067e371360'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/812c31b0-dffd-4de9-88d1-45067e371360'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/d030c9e5-4860-4db6-8ee4-546e10c528eb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d030c9e5-4860-4db6-8ee4-546e10c528eb","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"cd1c2c505e6fb188f1f1d14d02b2b80a","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":"new","url":"http://localhost/devices/812c31b0-dffd-4de9-88d1-45067e371360"},{"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/c7d31d2c-db0a-4d8f-941a-babba2d1a667"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/d030c9e5-4860-4db6-8ee4-546e10c528eb"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"cd1c2c505e6fb188f1f1d14d02b2b80a","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"cd1c2c505e6fb188f1f1d14d02b2b80a"} device-1 | {"data":{"peerconnection":"d030c9e5-4860-4db6-8ee4-546e10c528eb","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"d030c9e5-4860-4db6-8ee4-546e10c528eb","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/d030c9e5-4860-4db6-8ee4-546e10c528eb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d030c9e5-4860-4db6-8ee4-546e10c528eb","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"00bd62e47053e91a737e37694071dd7a","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/812c31b0-dffd-4de9-88d1-45067e371360"},{"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/c7d31d2c-db0a-4d8f-941a-babba2d1a667"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/d030c9e5-4860-4db6-8ee4-546e10c528eb"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:21Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd030c9e5-4860-4db6-8ee4-546e10c528eb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"adbad182-02e3-4be6-978b-9b6c558322c8","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445721.173094} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.649784,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d030c9e5-4860-4db6-8ee4-546e10c528eb","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/d030c9e5-4860-4db6-8ee4-546e10c528eb","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":"ec291500-3d2e-11ef-b932-e1799b48160b"},"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/d030c9e5-4860-4db6-8ee4-546e10c528eb 200 9ms","method":"GET","requestID":"ec291500-3d2e-11ef-b932-e1799b48160b","responseTime":9,"status":200,"url":"/peerconnections/d030c9e5-4860-4db6-8ee4-546e10c528eb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 33ms","method":"POST","requestID":"00bd62e47053e91a737e37694071dd7a","responseTime":33,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch","requestID":"00bd62e47053e91a737e37694071dd7a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:21Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F812c31b0-dffd-4de9-88d1-45067e371360","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1afefc02-7fe1-4c46-825f-5fe2af937b86","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445721.2027116} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.796363,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/812c31b0-dffd-4de9-88d1-45067e371360","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/812c31b0-dffd-4de9-88d1-45067e371360","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ec2da8e0-3d2e-11ef-b932-e1799b48160b"},"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/812c31b0-dffd-4de9-88d1-45067e371360/signaling 200 8ms","method":"POST","requestID":"ec2da8e0-3d2e-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/devices/812c31b0-dffd-4de9-88d1-45067e371360/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:21Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d31d2c-db0a-4d8f-941a-babba2d1a667","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0ca4be28-12c5-485c-bd7c-19f4e87d6cb5","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445721.2122922} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.256754,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667","object_type":"device","rebac_allow":false,"scope_allow":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":"ec2f2f80-3d2e-11ef-b932-e1799b48160b"},"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/c7d31d2c-db0a-4d8f-941a-babba2d1a667/signaling 200 8ms","method":"POST","requestID":"ec2f2f80-3d2e-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyMX0.ok4jq4IFB-B2AlRTgexGQBW_1WXeSlLzJ_UwPxHJEs8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d013e7bfec39a74de04462030b235fd3","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4cbd50ef-7894-46c4-b5ae-ad72d834e99f"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:21Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.095631,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4cbd50ef-7894-46c4-b5ae-ad72d834e99f","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/4cbd50ef-7894-46c4-b5ae-ad72d834e99f","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445721,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyMX0.ok4jq4IFB-B2AlRTgexGQBW_1WXeSlLzJ_UwPxHJEs8"} 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":"d013e7bfec39a74de04462030b235fd3"},"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/4cbd50ef-7894-46c4-b5ae-ad72d834e99f"} gateway-1 | {"time_local":"08/Jul/2024:13:35:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4cbd50ef-7894-46c4-b5ae-ad72d834e99f HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d013e7bfec39a74de04462030b235fd3"} experiment-1 | {"level":"info","message":"GET /experiments/4cbd50ef-7894-46c4-b5ae-ad72d834e99f 200 12ms","method":"GET","requestID":"d013e7bfec39a74de04462030b235fd3","responseTime":12,"status":200,"url":"/experiments/4cbd50ef-7894-46c4-b5ae-ad72d834e99f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyMX0.ok4jq4IFB-B2AlRTgexGQBW_1WXeSlLzJ_UwPxHJEs8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3bdbc87342d230ce94fc70305fbf0edf","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/4cbd50ef-7894-46c4-b5ae-ad72d834e99f"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:21Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.320524,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:21Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4cbd50ef-7894-46c4-b5ae-ad72d834e99f","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/4cbd50ef-7894-46c4-b5ae-ad72d834e99f","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445721,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyMX0.ok4jq4IFB-B2AlRTgexGQBW_1WXeSlLzJ_UwPxHJEs8"} 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":"3bdbc87342d230ce94fc70305fbf0edf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4cbd50ef-7894-46c4-b5ae-ad72d834e99f"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:21Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.026109,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:21Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d030c9e5-4860-4db6-8ee4-546e10c528eb","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:http://localhost/peerconnections/d030c9e5-4860-4db6-8ee4-546e10c528eb","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445721,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyMX0.ok4jq4IFB-B2AlRTgexGQBW_1WXeSlLzJ_UwPxHJEs8"} 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":"ec3aef50-3d2e-11ef-b932-e1799b48160b"},"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/d030c9e5-4860-4db6-8ee4-546e10c528eb' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/d030c9e5-4860-4db6-8ee4-546e10c528eb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d030c9e5-4860-4db6-8ee4-546e10c528eb","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd030c9e5-4860-4db6-8ee4-546e10c528eb': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd030c9e5-4860-4db6-8ee4-546e10c528eb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"62d6f9e6-eb00-41b3-a866-6fe7e1b6fec2","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445721.3050485} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"71bf200c899cf56881ab1fb243ede59a","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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5dd0ba88-2a28-4d61-acf0-74269702faa9","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445721.3054557} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/812c31b0-dffd-4de9-88d1-45067e371360"},{"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/c7d31d2c-db0a-4d8f-941a-babba2d1a667"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d030c9e5-4860-4db6-8ee4-546e10c528eb"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"66acfa7e8254aa984105b50447f41edc","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":"ec3aef50-3d2e-11ef-b932-e1799b48160b"},"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":"connected","url":"http://localhost/devices/812c31b0-dffd-4de9-88d1-45067e371360"},{"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/c7d31d2c-db0a-4d8f-941a-babba2d1a667"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d030c9e5-4860-4db6-8ee4-546e10c528eb"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"d030c9e5-4860-4db6-8ee4-546e10c528eb","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/d030c9e5-4860-4db6-8ee4-546e10c528eb 204 41ms","method":"DELETE","requestID":"ec3aef50-3d2e-11ef-b932-e1799b48160b","responseTime":41,"status":204,"url":"/peerconnections/d030c9e5-4860-4db6-8ee4-546e10c528eb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4cbd50ef-7894-46c4-b5ae-ad72d834e99f"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:21Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F812c31b0-dffd-4de9-88d1-45067e371360","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8400e595-362b-4c7b-b85d-3124d433189f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445721.3556063} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.510525,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/812c31b0-dffd-4de9-88d1-45067e371360","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/812c31b0-dffd-4de9-88d1-45067e371360","object_type":"device","rebac_allow":false,"scope_allow":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":"ec44b350-3d2e-11ef-b932-e1799b48160b"},"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/812c31b0-dffd-4de9-88d1-45067e371360/signaling 200 13ms","method":"POST","requestID":"ec44b350-3d2e-11ef-b932-e1799b48160b","responseTime":13,"status":200,"url":"/devices/812c31b0-dffd-4de9-88d1-45067e371360/signaling"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4cbd50ef-7894-46c4-b5ae-ad72d834e99f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4cbd50ef-7894-46c4-b5ae-ad72d834e99f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"fc317461-5dd9-441f-8306-37911a269ca3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445721.3627489} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8a33cdbc-4f48-4085-b990-4e9b89507961","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445721.3631327} 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":"3bdbc87342d230ce94fc70305fbf0edf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:21Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7d31d2c-db0a-4d8f-941a-babba2d1a667","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bacbf3df-a3af-4832-a7a2-c823bfc98d84","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445721.3705904} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.970791,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ec472450-3d2e-11ef-b932-e1799b48160b"},"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/c7d31d2c-db0a-4d8f-941a-babba2d1a667/signaling 200 11ms","method":"POST","requestID":"ec472450-3d2e-11ef-b932-e1799b48160b","responseTime":11,"status":200,"url":"/devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/4cbd50ef-7894-46c4-b5ae-ad72d834e99f"} gateway-1 | {"time_local":"08/Jul/2024:13:35:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/4cbd50ef-7894-46c4-b5ae-ad72d834e99f HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.158","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3bdbc87342d230ce94fc70305fbf0edf"} experiment-1 | {"level":"info","message":"DELETE /experiments/4cbd50ef-7894-46c4-b5ae-ad72d834e99f 204 155ms","method":"DELETE","requestID":"3bdbc87342d230ce94fc70305fbf0edf","responseTime":155,"status":204,"url":"/experiments/4cbd50ef-7894-46c4-b5ae-ad72d834e99f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 120ms","method":"POST","requestID":"71bf200c899cf56881ab1fb243ede59a","responseTime":120,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.124","http_referrer":"","http_user_agent":"node-fetch","requestID":"71bf200c899cf56881ab1fb243ede59a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 119ms","method":"POST","requestID":"66acfa7e8254aa984105b50447f41edc","responseTime":119,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.125","http_referrer":"","http_user_agent":"node-fetch","requestID":"66acfa7e8254aa984105b50447f41edc"} gateway-1 | {"time_local":"08/Jul/2024:13:35:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2885","request_time":"0.677","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7d36887b04c405b7b2702010471a1cb0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyMX0.ok4jq4IFB-B2AlRTgexGQBW_1WXeSlLzJ_UwPxHJEs8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"551b6902749fb65f537a6884b2d7a600","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:21Z"} gateway-1 | {"time_local":"08/Jul/2024:13:35:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2887","request_time":"0.681","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e521a86009bd480d97ffb28659e47af9"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.988541,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445721,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyMX0.ok4jq4IFB-B2AlRTgexGQBW_1WXeSlLzJ_UwPxHJEs8"} 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":"551b6902749fb65f537a6884b2d7a600"},"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/812c31b0-dffd-4de9-88d1-45067e371360' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c7d31d2c-db0a-4d8f-941a-babba2d1a667' 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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F049fb572-7821-4125-95e2-5d7d3e5f759f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b89aa29e-b11f-4bdd-a871-9c087d6602ae","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445721.4617865} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"551b6902749fb65f537a6884b2d7a600"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"54847806-e8ac-4fb9-bc5d-35af7f2c2b06","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445721.4664743} 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":"551b6902749fb65f537a6884b2d7a600"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F049fb572-7821-4125-95e2-5d7d3e5f759f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"5c608101-efed-4782-8745-0c2d9fde43c7","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445721.4768765} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"83cd5ea3-f4d0-4cb4-891c-f7b0457abc44","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445721.4771156} 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":"551b6902749fb65f537a6884b2d7a600"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F049fb572-7821-4125-95e2-5d7d3e5f759f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F049fb572-7821-4125-95e2-5d7d3e5f759f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:21.476843767Z"}]},"request_id":"6c5d5736-b837-48a8-9d09-f172699be600","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445721.4811282} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"551b6902749fb65f537a6884b2d7a600"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"551b6902749fb65f537a6884b2d7a600"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"551b6902749fb65f537a6884b2d7a600","responseTime":49,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyMX0.ok4jq4IFB-B2AlRTgexGQBW_1WXeSlLzJ_UwPxHJEs8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"89963c28f246341eb9c0d25da06413dd","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:21Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.919505,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445721,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyMX0.ok4jq4IFB-B2AlRTgexGQBW_1WXeSlLzJ_UwPxHJEs8"} 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":"89963c28f246341eb9c0d25da06413dd"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9928a50e-5864-403f-8d35-ae3650b6a4a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6abf9f63-e493-4cb2-9a90-d3d4137eb246","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445721.5038116} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"89963c28f246341eb9c0d25da06413dd"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8a39dad5-c642-4974-a092-49d125dd44d7","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445721.5079675} 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":"89963c28f246341eb9c0d25da06413dd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9928a50e-5864-403f-8d35-ae3650b6a4a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"60e614fe-3a34-4ebc-a0f1-8462c43bf8df","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445721.5232804} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3d6c989b-13e9-43ba-9c15-3b9cfb5fbaf0","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445721.5234578} 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":"89963c28f246341eb9c0d25da06413dd"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9928a50e-5864-403f-8d35-ae3650b6a4a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9928a50e-5864-403f-8d35-ae3650b6a4a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:21.523262369Z"}]},"request_id":"ed5f6c67-f679-449f-916d-b33a5eea8673","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445721.5279794} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"89963c28f246341eb9c0d25da06413dd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"89963c28f246341eb9c0d25da06413dd"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"89963c28f246341eb9c0d25da06413dd","responseTime":42,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyMn0.NHD3SVq_juIFWUz-vXTFvvjbV8HSprjY7RRrbYp3QLQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"40dba26188cf0a110c0211f59fe737ab","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:22Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.922195,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:22Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9928a50e-5864-403f-8d35-ae3650b6a4a3","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/9928a50e-5864-403f-8d35-ae3650b6a4a3","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445722,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyMn0.NHD3SVq_juIFWUz-vXTFvvjbV8HSprjY7RRrbYp3QLQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"40dba26188cf0a110c0211f59fe737ab"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9928a50e-5864-403f-8d35-ae3650b6a4a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9928a50e-5864-403f-8d35-ae3650b6a4a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:21.523262369Z"}]},"request_id":"413381c5-b856-4340-948c-512bac40fff4","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445722.0229776} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"40dba26188cf0a110c0211f59fe737ab"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a2536aff-d049-467e-a391-9d20c1ef997e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445722.0287352} 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":"40dba26188cf0a110c0211f59fe737ab"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9928a50e-5864-403f-8d35-ae3650b6a4a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9928a50e-5864-403f-8d35-ae3650b6a4a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:21.523262369Z"}]},"request_id":"128ab9a2-02a5-4889-91c2-35a183778ca5","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445722.0407007} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"40dba26188cf0a110c0211f59fe737ab"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/9928a50e-5864-403f-8d35-ae3650b6a4a3 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.037","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"40dba26188cf0a110c0211f59fe737ab"} device-1 | {"level":"info","message":"PATCH /devices/9928a50e-5864-403f-8d35-ae3650b6a4a3 200 33ms","method":"PATCH","requestID":"40dba26188cf0a110c0211f59fe737ab","responseTime":33,"status":200,"url":"/devices/9928a50e-5864-403f-8d35-ae3650b6a4a3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyMn0.NHD3SVq_juIFWUz-vXTFvvjbV8HSprjY7RRrbYp3QLQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4d764e3d0f6cd6434fe7f8ef5ba96948","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:22Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.198394,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:22Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9928a50e-5864-403f-8d35-ae3650b6a4a3","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/9928a50e-5864-403f-8d35-ae3650b6a4a3","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445722,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyMn0.NHD3SVq_juIFWUz-vXTFvvjbV8HSprjY7RRrbYp3QLQ"} 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":"4d764e3d0f6cd6434fe7f8ef5ba96948"},"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/9928a50e-5864-403f-8d35-ae3650b6a4a3/websocket 200 14ms","method":"POST","requestID":"4d764e3d0f6cd6434fe7f8ef5ba96948","responseTime":14,"status":200,"url":"/devices/9928a50e-5864-403f-8d35-ae3650b6a4a3/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:35:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9928a50e-5864-403f-8d35-ae3650b6a4a3/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.020","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"4d764e3d0f6cd6434fe7f8ef5ba96948"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9928a50e-5864-403f-8d35-ae3650b6a4a3' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"468a7a056d0750e094104f1e9a7164d9","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:35:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/049fb572-7821-4125-95e2-5d7d3e5f759f/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":"468a7a056d0750e094104f1e9a7164d9"} device-1 | {"level":"info","message":"OPTIONS /devices/049fb572-7821-4125-95e2-5d7d3e5f759f/websocket 200 1ms","method":"OPTIONS","requestID":"468a7a056d0750e094104f1e9a7164d9","responseTime":1,"status":200,"url":"/devices/049fb572-7821-4125-95e2-5d7d3e5f759f/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyM30.I8apbyS3MRdiqJhhoCC-O_C9QYnWAj5nHhpCjIUz7fg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bcef2831e9dd5f509b0a2786484e2214","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.18791,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/049fb572-7821-4125-95e2-5d7d3e5f759f","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/049fb572-7821-4125-95e2-5d7d3e5f759f","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445723,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyM30.I8apbyS3MRdiqJhhoCC-O_C9QYnWAj5nHhpCjIUz7fg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bcef2831e9dd5f509b0a2786484e2214"},"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/049fb572-7821-4125-95e2-5d7d3e5f759f/websocket 200 23ms","method":"POST","requestID":"bcef2831e9dd5f509b0a2786484e2214","responseTime":23,"status":200,"url":"/devices/049fb572-7821-4125-95e2-5d7d3e5f759f/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:35:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/049fb572-7821-4125-95e2-5d7d3e5f759f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"bcef2831e9dd5f509b0a2786484e2214"} device-1 | {"level":"info","message":"device 'http://localhost/devices/049fb572-7821-4125-95e2-5d7d3e5f759f' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyM30.I8apbyS3MRdiqJhhoCC-O_C9QYnWAj5nHhpCjIUz7fg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"41b67cf08f6675b9f87f3c91ea8a35dd","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.121782,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/049fb572-7821-4125-95e2-5d7d3e5f759f","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/049fb572-7821-4125-95e2-5d7d3e5f759f","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445723,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyM30.I8apbyS3MRdiqJhhoCC-O_C9QYnWAj5nHhpCjIUz7fg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"41b67cf08f6675b9f87f3c91ea8a35dd"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F049fb572-7821-4125-95e2-5d7d3e5f759f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F049fb572-7821-4125-95e2-5d7d3e5f759f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:21.476843767Z"}]},"request_id":"c707f99a-4541-4c4f-b72e-23239f8c9c32","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445723.598762} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"41b67cf08f6675b9f87f3c91ea8a35dd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/049fb572-7821-4125-95e2-5d7d3e5f759f? 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":"41b67cf08f6675b9f87f3c91ea8a35dd"} device-1 | {"level":"info","message":"GET /devices/049fb572-7821-4125-95e2-5d7d3e5f759f? 200 17ms","method":"GET","requestID":"41b67cf08f6675b9f87f3c91ea8a35dd","responseTime":17,"status":200,"url":"/devices/049fb572-7821-4125-95e2-5d7d3e5f759f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyM30.I8apbyS3MRdiqJhhoCC-O_C9QYnWAj5nHhpCjIUz7fg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bdf140c59b6174de686c305439c07762","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.211003,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9928a50e-5864-403f-8d35-ae3650b6a4a3","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/9928a50e-5864-403f-8d35-ae3650b6a4a3","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445723,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyM30.I8apbyS3MRdiqJhhoCC-O_C9QYnWAj5nHhpCjIUz7fg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bdf140c59b6174de686c305439c07762"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9928a50e-5864-403f-8d35-ae3650b6a4a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9928a50e-5864-403f-8d35-ae3650b6a4a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:21.523262369Z"}]},"request_id":"fceb5d91-af13-45ae-901e-fefe9ca779bd","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445723.6236658} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bdf140c59b6174de686c305439c07762"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9928a50e-5864-403f-8d35-ae3650b6a4a3? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bdf140c59b6174de686c305439c07762"} device-1 | {"level":"info","message":"GET /devices/9928a50e-5864-403f-8d35-ae3650b6a4a3? 200 17ms","method":"GET","requestID":"bdf140c59b6174de686c305439c07762","responseTime":17,"status":200,"url":"/devices/9928a50e-5864-403f-8d35-ae3650b6a4a3?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyM30.I8apbyS3MRdiqJhhoCC-O_C9QYnWAj5nHhpCjIUz7fg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7131216bee9c800eaf40eadc3f145405","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:58630","level":"info","msg":"Received request.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.296999,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445723,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyM30.I8apbyS3MRdiqJhhoCC-O_C9QYnWAj5nHhpCjIUz7fg"} 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":"7131216bee9c800eaf40eadc3f145405"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce83d581-56de-4896-9ddb-9ae0e5a8949d"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce83d581-56de-4896-9ddb-9ae0e5a8949d"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce83d581-56de-4896-9ddb-9ae0e5a8949d"},"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:58630","level":"info","msg":"Received request.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:23Z"} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Received request.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.595921,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/049fb572-7821-4125-95e2-5d7d3e5f759f","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/049fb572-7821-4125-95e2-5d7d3e5f759f","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445723,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyM30.I8apbyS3MRdiqJhhoCC-O_C9QYnWAj5nHhpCjIUz7fg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eda83af0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Sent response.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.877619,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9928a50e-5864-403f-8d35-ae3650b6a4a3","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/9928a50e-5864-403f-8d35-ae3650b6a4a3","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445723,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyM30.I8apbyS3MRdiqJhhoCC-O_C9QYnWAj5nHhpCjIUz7fg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eda88910-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F049fb572-7821-4125-95e2-5d7d3e5f759f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F049fb572-7821-4125-95e2-5d7d3e5f759f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:21.476843767Z"}]},"request_id":"b0e233d0-097c-4812-b80a-b07398376a38","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445723.690033} 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":"eda83af0-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9928a50e-5864-403f-8d35-ae3650b6a4a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9928a50e-5864-403f-8d35-ae3650b6a4a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:21.523262369Z"}]},"request_id":"ebfae0ec-3bba-43d4-ab29-901f81bb8ab4","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445723.6917076} 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":"eda88910-3d2e-11ef-b932-e1799b48160b"},"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/049fb572-7821-4125-95e2-5d7d3e5f759f? 200 20ms","method":"GET","requestID":"eda83af0-3d2e-11ef-b932-e1799b48160b","responseTime":20,"status":200,"url":"/devices/049fb572-7821-4125-95e2-5d7d3e5f759f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/9928a50e-5864-403f-8d35-ae3650b6a4a3? 200 19ms","method":"GET","requestID":"eda88910-3d2e-11ef-b932-e1799b48160b","responseTime":19,"status":200,"url":"/devices/9928a50e-5864-403f-8d35-ae3650b6a4a3?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce83d581-56de-4896-9ddb-9ae0e5a8949d"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce83d581-56de-4896-9ddb-9ae0e5a8949d"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce83d581-56de-4896-9ddb-9ae0e5a8949d"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce83d581-56de-4896-9ddb-9ae0e5a8949d"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce83d581-56de-4896-9ddb-9ae0e5a8949d"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce83d581-56de-4896-9ddb-9ae0e5a8949d"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce83d581-56de-4896-9ddb-9ae0e5a8949d"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce83d581-56de-4896-9ddb-9ae0e5a8949d"},"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/ce83d581-56de-4896-9ddb-9ae0e5a8949d"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.203931,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:23Z"} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Received request.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/049fb572-7821-4125-95e2-5d7d3e5f759f","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/049fb572-7821-4125-95e2-5d7d3e5f759f","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445723,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyM30.I8apbyS3MRdiqJhhoCC-O_C9QYnWAj5nHhpCjIUz7fg"} 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":"edb33770-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Sent response.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.993495,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:23Z"} authorization-1 | {"client_addr":"127.0.0.1:55160","level":"info","msg":"Received request.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9928a50e-5864-403f-8d35-ae3650b6a4a3","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/9928a50e-5864-403f-8d35-ae3650b6a4a3","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445723,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyM30.I8apbyS3MRdiqJhhoCC-O_C9QYnWAj5nHhpCjIUz7fg"} 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":"edb38590-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:55160","level":"info","msg":"Sent response.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.335547,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:23Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F049fb572-7821-4125-95e2-5d7d3e5f759f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a32448e5-558c-48f6-b0ee-6f37e663675e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445723.7620583} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/049fb572-7821-4125-95e2-5d7d3e5f759f","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/049fb572-7821-4125-95e2-5d7d3e5f759f","object_type":"device","rebac_allow":false,"scope_allow":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":"edb3d3b0-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F049fb572-7821-4125-95e2-5d7d3e5f759f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F049fb572-7821-4125-95e2-5d7d3e5f759f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:21.476843767Z"}]},"request_id":"0756f892-f8d6-4b7b-914c-69b2eb1618d0","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445723.7673965} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/049fb572-7821-4125-95e2-5d7d3e5f759f/signaling 200 15ms","method":"POST","requestID":"edb3d3b0-3d2e-11ef-b932-e1799b48160b","responseTime":15,"status":200,"url":"/devices/049fb572-7821-4125-95e2-5d7d3e5f759f/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":"edb33770-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9928a50e-5864-403f-8d35-ae3650b6a4a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9928a50e-5864-403f-8d35-ae3650b6a4a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:21.523262369Z"}]},"request_id":"847773d5-8641-4808-8620-e84b84391d19","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445723.7702885} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"edb38590-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:23Z"} device-1 | {"level":"info","message":"GET /devices/049fb572-7821-4125-95e2-5d7d3e5f759f? 200 28ms","method":"GET","requestID":"edb33770-3d2e-11ef-b932-e1799b48160b","responseTime":28,"status":200,"url":"/devices/049fb572-7821-4125-95e2-5d7d3e5f759f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/9928a50e-5864-403f-8d35-ae3650b6a4a3? 200 27ms","method":"GET","requestID":"edb38590-3d2e-11ef-b932-e1799b48160b","responseTime":27,"status":200,"url":"/devices/9928a50e-5864-403f-8d35-ae3650b6a4a3?"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9928a50e-5864-403f-8d35-ae3650b6a4a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"34734d13-01be-4d62-ba54-c56c1a700b45","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445723.7804303} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.055,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:23Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9928a50e-5864-403f-8d35-ae3650b6a4a3","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9928a50e-5864-403f-8d35-ae3650b6a4a3","object_type":"device","rebac_allow":false,"scope_allow":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":"edb6b9e0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fce83d581-56de-4896-9ddb-9ae0e5a8949d#owner@http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fce83d581-56de-4896-9ddb-9ae0e5a8949d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"1061c042-65c3-46e0-8663-ea93f349d8b6","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445723.7835228} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2d2d1bd8-cfda-4bdf-a44f-8a6c51fdfde4","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445723.7838788} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9928a50e-5864-403f-8d35-ae3650b6a4a3/signaling 200 13ms","method":"POST","requestID":"edb6b9e0-3d2e-11ef-b932-e1799b48160b","responseTime":13,"status":200,"url":"/devices/9928a50e-5864-403f-8d35-ae3650b6a4a3/signaling"} 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":"7131216bee9c800eaf40eadc3f145405"},"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:58630","level":"info","msg":"Received request.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:23Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F049fb572-7821-4125-95e2-5d7d3e5f759f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2e300bfa-b1c6-44aa-bfc2-abe8b2b27d9d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445723.789161} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.708003,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/049fb572-7821-4125-95e2-5d7d3e5f759f","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/049fb572-7821-4125-95e2-5d7d3e5f759f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"edb7f260-3d2e-11ef-b932-e1799b48160b"},"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/049fb572-7821-4125-95e2-5d7d3e5f759f/signaling 200 12ms","method":"POST","requestID":"edb7f260-3d2e-11ef-b932-e1799b48160b","responseTime":12,"status":200,"url":"/devices/049fb572-7821-4125-95e2-5d7d3e5f759f/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/ce83d581-56de-4896-9ddb-9ae0e5a8949d","user":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/Jul/2024:13:35:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.165","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7131216bee9c800eaf40eadc3f145405"} experiment-1 | {"level":"info","message":"POST /experiments? 201 159ms","method":"POST","requestID":"7131216bee9c800eaf40eadc3f145405","responseTime":159,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyM30.I8apbyS3MRdiqJhhoCC-O_C9QYnWAj5nHhpCjIUz7fg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"225eb29871fc4428ebc7c6dc53da6aa4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:23Z"} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Received request.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:23Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9928a50e-5864-403f-8d35-ae3650b6a4a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"87421178-a023-4dfb-a270-9132b05f0a7d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445723.8042574} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.580107,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9928a50e-5864-403f-8d35-ae3650b6a4a3","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9928a50e-5864-403f-8d35-ae3650b6a4a3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"edba8a70-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Sent response.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.071544,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/049fb572-7821-4125-95e2-5d7d3e5f759f","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/049fb572-7821-4125-95e2-5d7d3e5f759f","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445723,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyM30.I8apbyS3MRdiqJhhoCC-O_C9QYnWAj5nHhpCjIUz7fg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"225eb29871fc4428ebc7c6dc53da6aa4"},"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/9928a50e-5864-403f-8d35-ae3650b6a4a3/signaling 200 11ms","method":"POST","requestID":"edba8a70-3d2e-11ef-b932-e1799b48160b","responseTime":11,"status":200,"url":"/devices/9928a50e-5864-403f-8d35-ae3650b6a4a3/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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F049fb572-7821-4125-95e2-5d7d3e5f759f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F049fb572-7821-4125-95e2-5d7d3e5f759f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:21.476843767Z"}]},"request_id":"76bcd9b3-47c2-4956-b4be-2340232ec38f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445723.8107424} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce83d581-56de-4896-9ddb-9ae0e5a8949d"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce83d581-56de-4896-9ddb-9ae0e5a8949d"},"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":"03fea48b-6f37-4d7d-a7a3-ad0438afa600"},{"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":"291fa07f-214b-4927-b364-967378381b39"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"e7768a8c-a0a2-428d-a619-8c42edbc18b6"}]},"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":"225eb29871fc4428ebc7c6dc53da6aa4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/049fb572-7821-4125-95e2-5d7d3e5f759f"},{"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/9928a50e-5864-403f-8d35-ae3650b6a4a3"}],"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:58630","level":"info","msg":"Received request.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:23Z"} gateway-1 | {"time_local":"08/Jul/2024:13:35:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/049fb572-7821-4125-95e2-5d7d3e5f759f? 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":"225eb29871fc4428ebc7c6dc53da6aa4"} device-1 | {"level":"info","message":"GET /devices/049fb572-7821-4125-95e2-5d7d3e5f759f? 200 15ms","method":"GET","requestID":"225eb29871fc4428ebc7c6dc53da6aa4","responseTime":15,"status":200,"url":"/devices/049fb572-7821-4125-95e2-5d7d3e5f759f?"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.862478,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445723,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyM30.I8apbyS3MRdiqJhhoCC-O_C9QYnWAj5nHhpCjIUz7fg"} 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":"edbcad50-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyM30.I8apbyS3MRdiqJhhoCC-O_C9QYnWAj5nHhpCjIUz7fg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"96451c300a0c957ec88a353dbcd92c98","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","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%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"e52772df-9a7e-4f48-86c8-b1cc0260b069","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445723.8256378} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b0fb6c05-6cda-4e43-9ead-c0063b7c603c","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445723.825814} 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":"edbcad50-3d2e-11ef-b932-e1799b48160b"},"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:58630","level":"info","msg":"Received request.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.93856,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9928a50e-5864-403f-8d35-ae3650b6a4a3","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/9928a50e-5864-403f-8d35-ae3650b6a4a3","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445723,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyM30.I8apbyS3MRdiqJhhoCC-O_C9QYnWAj5nHhpCjIUz7fg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"96451c300a0c957ec88a353dbcd92c98"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9928a50e-5864-403f-8d35-ae3650b6a4a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9928a50e-5864-403f-8d35-ae3650b6a4a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:21.523262369Z"}]},"request_id":"cce2bf71-1434-4eb7-98ac-db1372f0377a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445723.8330216} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"96451c300a0c957ec88a353dbcd92c98"},"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/21f30d21-edfc-422c-99b1-bc6260236401'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/21f30d21-edfc-422c-99b1-bc6260236401'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 31ms","method":"POST","requestID":"edbcad50-3d2e-11ef-b932-e1799b48160b","responseTime":31,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/9928a50e-5864-403f-8d35-ae3650b6a4a3? 200 22ms","method":"GET","requestID":"96451c300a0c957ec88a353dbcd92c98","responseTime":22,"status":200,"url":"/devices/9928a50e-5864-403f-8d35-ae3650b6a4a3?"} gateway-1 | {"time_local":"08/Jul/2024:13:35:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9928a50e-5864-403f-8d35-ae3650b6a4a3? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"96451c300a0c957ec88a353dbcd92c98"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce83d581-56de-4896-9ddb-9ae0e5a8949d"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:23Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F049fb572-7821-4125-95e2-5d7d3e5f759f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9ae95315-bfae-477f-a0e6-d1d311dbe969","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445723.8774164} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.703232,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/049fb572-7821-4125-95e2-5d7d3e5f759f","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/049fb572-7821-4125-95e2-5d7d3e5f759f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"edc5d510-3d2e-11ef-b932-e1799b48160b"},"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/049fb572-7821-4125-95e2-5d7d3e5f759f/signaling 200 9ms","method":"POST","requestID":"edc5d510-3d2e-11ef-b932-e1799b48160b","responseTime":9,"status":200,"url":"/devices/049fb572-7821-4125-95e2-5d7d3e5f759f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:23Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9928a50e-5864-403f-8d35-ae3650b6a4a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cbc643bf-8808-4e04-afd9-c0e869dee201","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445723.888301} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":1.942369,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9928a50e-5864-403f-8d35-ae3650b6a4a3","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9928a50e-5864-403f-8d35-ae3650b6a4a3","object_type":"device","rebac_allow":false,"scope_allow":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":"edc782c0-3d2e-11ef-b932-e1799b48160b"},"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/9928a50e-5864-403f-8d35-ae3650b6a4a3/signaling 200 7ms","method":"POST","requestID":"edc782c0-3d2e-11ef-b932-e1799b48160b","responseTime":7,"status":200,"url":"/devices/9928a50e-5864-403f-8d35-ae3650b6a4a3/signaling"} device-1 | {"data":{"peerconnection":"21f30d21-edfc-422c-99b1-bc6260236401","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/21f30d21-edfc-422c-99b1-bc6260236401' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"21f30d21-edfc-422c-99b1-bc6260236401","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6445b1e82714ffbf35b195a2afd5472f","responseTime":1,"status":200,"url":"/auth"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/049fb572-7821-4125-95e2-5d7d3e5f759f'"} 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/049fb572-7821-4125-95e2-5d7d3e5f759f"},{"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/9928a50e-5864-403f-8d35-ae3650b6a4a3"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/21f30d21-edfc-422c-99b1-bc6260236401"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"6445b1e82714ffbf35b195a2afd5472f","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35:25 +0000","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":"6445b1e82714ffbf35b195a2afd5472f"} device-1 | {"data":{"peerconnection":"21f30d21-edfc-422c-99b1-bc6260236401","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"21f30d21-edfc-422c-99b1-bc6260236401","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/21f30d21-edfc-422c-99b1-bc6260236401' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"21f30d21-edfc-422c-99b1-bc6260236401","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"23b6f2f43d9a020fd59f6a142c171f62","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/049fb572-7821-4125-95e2-5d7d3e5f759f"},{"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/9928a50e-5864-403f-8d35-ae3650b6a4a3"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/21f30d21-edfc-422c-99b1-bc6260236401"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:25Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F21f30d21-edfc-422c-99b1-bc6260236401","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"097bcdb1-a75a-4ba1-8408-820f2a199613","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445725.965238} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.602304,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/21f30d21-edfc-422c-99b1-bc6260236401","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/21f30d21-edfc-422c-99b1-bc6260236401","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":"ef044880-3d2e-11ef-b932-e1799b48160b"},"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/21f30d21-edfc-422c-99b1-bc6260236401 200 9ms","method":"GET","requestID":"ef044880-3d2e-11ef-b932-e1799b48160b","responseTime":9,"status":200,"url":"/peerconnections/21f30d21-edfc-422c-99b1-bc6260236401"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 41ms","method":"POST","requestID":"23b6f2f43d9a020fd59f6a142c171f62","responseTime":41,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch","requestID":"23b6f2f43d9a020fd59f6a142c171f62"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:25Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F049fb572-7821-4125-95e2-5d7d3e5f759f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"22b56468-4840-4471-81a7-8f55ea461ab1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445726.0011024} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.456742,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/049fb572-7821-4125-95e2-5d7d3e5f759f","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/049fb572-7821-4125-95e2-5d7d3e5f759f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ef09c6c0-3d2e-11ef-b932-e1799b48160b"},"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/049fb572-7821-4125-95e2-5d7d3e5f759f/signaling 200 11ms","method":"POST","requestID":"ef09c6c0-3d2e-11ef-b932-e1799b48160b","responseTime":11,"status":200,"url":"/devices/049fb572-7821-4125-95e2-5d7d3e5f759f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:26Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9928a50e-5864-403f-8d35-ae3650b6a4a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"17d0923e-d1da-48cd-8d16-2820875c10a1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445726.0148332} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.806647,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9928a50e-5864-403f-8d35-ae3650b6a4a3","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9928a50e-5864-403f-8d35-ae3650b6a4a3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ef0bc290-3d2e-11ef-b932-e1799b48160b"},"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/9928a50e-5864-403f-8d35-ae3650b6a4a3/signaling 200 9ms","method":"POST","requestID":"ef0bc290-3d2e-11ef-b932-e1799b48160b","responseTime":9,"status":200,"url":"/devices/9928a50e-5864-403f-8d35-ae3650b6a4a3/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyNn0.oZJlKSUEwyP8y0mZYK-9IDiy1_TujGU2_wU2mJQnkE0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"377c9db4b6a1bff97d1550ea733faed0","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ce83d581-56de-4896-9ddb-9ae0e5a8949d"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:26Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.133265,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ce83d581-56de-4896-9ddb-9ae0e5a8949d","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/ce83d581-56de-4896-9ddb-9ae0e5a8949d","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445726,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyNn0.oZJlKSUEwyP8y0mZYK-9IDiy1_TujGU2_wU2mJQnkE0"} 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":"377c9db4b6a1bff97d1550ea733faed0"},"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/ce83d581-56de-4896-9ddb-9ae0e5a8949d"} experiment-1 | {"level":"info","message":"GET /experiments/ce83d581-56de-4896-9ddb-9ae0e5a8949d 200 16ms","method":"GET","requestID":"377c9db4b6a1bff97d1550ea733faed0","responseTime":16,"status":200,"url":"/experiments/ce83d581-56de-4896-9ddb-9ae0e5a8949d"} gateway-1 | {"time_local":"08/Jul/2024:13:35:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ce83d581-56de-4896-9ddb-9ae0e5a8949d HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"377c9db4b6a1bff97d1550ea733faed0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyNn0.oZJlKSUEwyP8y0mZYK-9IDiy1_TujGU2_wU2mJQnkE0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"cdb8a0ac44539cf1602673da50b9726c","responseTime":8,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ce83d581-56de-4896-9ddb-9ae0e5a8949d"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:26Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.110381,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:26Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ce83d581-56de-4896-9ddb-9ae0e5a8949d","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/ce83d581-56de-4896-9ddb-9ae0e5a8949d","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445726,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyNn0.oZJlKSUEwyP8y0mZYK-9IDiy1_TujGU2_wU2mJQnkE0"} 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":"cdb8a0ac44539cf1602673da50b9726c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce83d581-56de-4896-9ddb-9ae0e5a8949d"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:26Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.572959,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:26Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/21f30d21-edfc-422c-99b1-bc6260236401","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:http://localhost/peerconnections/21f30d21-edfc-422c-99b1-bc6260236401","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445726,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyNn0.oZJlKSUEwyP8y0mZYK-9IDiy1_TujGU2_wU2mJQnkE0"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","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":"ef195720-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/21f30d21-edfc-422c-99b1-bc6260236401' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/21f30d21-edfc-422c-99b1-bc6260236401' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"21f30d21-edfc-422c-99b1-bc6260236401","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F21f30d21-edfc-422c-99b1-bc6260236401': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F21f30d21-edfc-422c-99b1-bc6260236401","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"79a3e7cb-8df2-4a0a-b15f-f3f539864d35","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445726.1272898} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7943a506-0e3e-4bd6-90a9-8c7d722b31fb","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445726.127916} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b3db6060563029723547bbd18d7379c7","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":"ef195720-3d2e-11ef-b932-e1799b48160b"},"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-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/049fb572-7821-4125-95e2-5d7d3e5f759f"},{"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/9928a50e-5864-403f-8d35-ae3650b6a4a3"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/21f30d21-edfc-422c-99b1-bc6260236401"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ddee0fe15bd560ea0c40574e83cf33b4","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/049fb572-7821-4125-95e2-5d7d3e5f759f"},{"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/9928a50e-5864-403f-8d35-ae3650b6a4a3"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/21f30d21-edfc-422c-99b1-bc6260236401"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"21f30d21-edfc-422c-99b1-bc6260236401","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/21f30d21-edfc-422c-99b1-bc6260236401 204 54ms","method":"DELETE","requestID":"ef195720-3d2e-11ef-b932-e1799b48160b","responseTime":54,"status":204,"url":"/peerconnections/21f30d21-edfc-422c-99b1-bc6260236401"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce83d581-56de-4896-9ddb-9ae0e5a8949d"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:26Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F049fb572-7821-4125-95e2-5d7d3e5f759f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d57c2936-8cfd-47de-a0b7-44b695f2155d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445726.183609} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.865196,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/049fb572-7821-4125-95e2-5d7d3e5f759f","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/049fb572-7821-4125-95e2-5d7d3e5f759f","object_type":"device","rebac_allow":false,"scope_allow":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":"ef256510-3d2e-11ef-b932-e1799b48160b"},"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/049fb572-7821-4125-95e2-5d7d3e5f759f/signaling 200 14ms","method":"POST","requestID":"ef256510-3d2e-11ef-b932-e1799b48160b","responseTime":14,"status":200,"url":"/devices/049fb572-7821-4125-95e2-5d7d3e5f759f/signaling"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fce83d581-56de-4896-9ddb-9ae0e5a8949d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fce83d581-56de-4896-9ddb-9ae0e5a8949d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"463838a7-f999-4ba7-81c6-c0f14b8a2a24","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445726.1925514} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9f11349f-641d-4f6d-8334-1925528783fe","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445726.1930435} 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":"cdb8a0ac44539cf1602673da50b9726c"},"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:58630","level":"info","msg":"Received request.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:26Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9928a50e-5864-403f-8d35-ae3650b6a4a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1fc7877c-4162-4f24-a904-0224f5540b23","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445726.2013197} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.040674,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9928a50e-5864-403f-8d35-ae3650b6a4a3","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9928a50e-5864-403f-8d35-ae3650b6a4a3","object_type":"device","rebac_allow":false,"scope_allow":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":"ef27fd20-3d2e-11ef-b932-e1799b48160b"},"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/9928a50e-5864-403f-8d35-ae3650b6a4a3/signaling 200 14ms","method":"POST","requestID":"ef27fd20-3d2e-11ef-b932-e1799b48160b","responseTime":14,"status":200,"url":"/devices/9928a50e-5864-403f-8d35-ae3650b6a4a3/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ce83d581-56de-4896-9ddb-9ae0e5a8949d"} gateway-1 | {"time_local":"08/Jul/2024:13:35:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ce83d581-56de-4896-9ddb-9ae0e5a8949d HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.190","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cdb8a0ac44539cf1602673da50b9726c"} gateway-1 | {"time_local":"08/Jul/2024:13:35:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2835","request_time":"4.197","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"fc1c6e73bbb706acd0de48eec056c764"} experiment-1 | {"level":"info","message":"DELETE /experiments/ce83d581-56de-4896-9ddb-9ae0e5a8949d 204 183ms","method":"DELETE","requestID":"cdb8a0ac44539cf1602673da50b9726c","responseTime":183,"status":204,"url":"/experiments/ce83d581-56de-4896-9ddb-9ae0e5a8949d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 137ms","method":"POST","requestID":"b3db6060563029723547bbd18d7379c7","responseTime":137,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.143","http_referrer":"","http_user_agent":"node-fetch","requestID":"b3db6060563029723547bbd18d7379c7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 135ms","method":"POST","requestID":"ddee0fe15bd560ea0c40574e83cf33b4","responseTime":135,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyNn0.oZJlKSUEwyP8y0mZYK-9IDiy1_TujGU2_wU2mJQnkE0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"638d05ee6fa82a556c9577cfd686979f","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.149","http_referrer":"","http_user_agent":"node-fetch","requestID":"ddee0fe15bd560ea0c40574e83cf33b4"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9928a50e-5864-403f-8d35-ae3650b6a4a3' closed"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:26Z"} gateway-1 | {"time_local":"08/Jul/2024:13:35:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2747","request_time":"2.716","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"6848af1571455893bfa292d24bfd4a7e"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.936213,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445726,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyNn0.oZJlKSUEwyP8y0mZYK-9IDiy1_TujGU2_wU2mJQnkE0"} 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":"638d05ee6fa82a556c9577cfd686979f"},"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/049fb572-7821-4125-95e2-5d7d3e5f759f' 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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F110d2ed2-d1f8-43e7-a77c-2527b1453017","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f4c0640f-2918-450e-b3e1-55979f828bda","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445726.2972963} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"638d05ee6fa82a556c9577cfd686979f"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1f24ecd6-72f5-438c-b305-13f560751eb5","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445726.3035452} 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":"638d05ee6fa82a556c9577cfd686979f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F110d2ed2-d1f8-43e7-a77c-2527b1453017","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"c85ab809-f69a-4ddb-98ab-599fcd5f2d12","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445726.3145626} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b4d9f009-686c-4db9-b85a-b3d77b139627","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445726.3148067} 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":"638d05ee6fa82a556c9577cfd686979f"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F110d2ed2-d1f8-43e7-a77c-2527b1453017","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F110d2ed2-d1f8-43e7-a77c-2527b1453017","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:26.314539837Z"}]},"request_id":"f6f35697-3461-4a91-b0f8-ac0432148081","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445726.319893} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"638d05ee6fa82a556c9577cfd686979f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"638d05ee6fa82a556c9577cfd686979f"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"638d05ee6fa82a556c9577cfd686979f","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyNn0.oZJlKSUEwyP8y0mZYK-9IDiy1_TujGU2_wU2mJQnkE0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b3f7b5c8a977f07c64d060805d615ea8","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:26Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.743909,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445726,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyNn0.oZJlKSUEwyP8y0mZYK-9IDiy1_TujGU2_wU2mJQnkE0"} 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":"b3f7b5c8a977f07c64d060805d615ea8"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ddb4fc-93b7-48dd-b42c-bc58a73a8717","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4b396b84-fe02-4a72-a07f-5f672ab841de","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445726.3494668} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3f7b5c8a977f07c64d060805d615ea8"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"38b8f7ed-8ff9-4239-acff-ea04c13a1e34","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445726.3548176} 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":"b3f7b5c8a977f07c64d060805d615ea8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ddb4fc-93b7-48dd-b42c-bc58a73a8717","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"429d7edd-cc2a-46ec-be43-74946398598c","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445726.3648407} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"26e4fc64-b622-4357-816c-1e790b15af95","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445726.365024} 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":"b3f7b5c8a977f07c64d060805d615ea8"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ddb4fc-93b7-48dd-b42c-bc58a73a8717","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ddb4fc-93b7-48dd-b42c-bc58a73a8717","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:26.364813717Z"}]},"request_id":"7ead963d-72d1-4144-9435-657e589ab6af","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445726.369149} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3f7b5c8a977f07c64d060805d615ea8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b3f7b5c8a977f07c64d060805d615ea8"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"b3f7b5c8a977f07c64d060805d615ea8","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyNn0.oZJlKSUEwyP8y0mZYK-9IDiy1_TujGU2_wU2mJQnkE0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c434986e4d918e47dddc8a0e570deeeb","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:26Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.662124,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445726,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyNn0.oZJlKSUEwyP8y0mZYK-9IDiy1_TujGU2_wU2mJQnkE0"} 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":"c434986e4d918e47dddc8a0e570deeeb"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ddb4fc-93b7-48dd-b42c-bc58a73a8717","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ddb4fc-93b7-48dd-b42c-bc58a73a8717","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:26.364813717Z"}]},"request_id":"3e0a6337-6ccf-4e23-9fba-33150ed272eb","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445726.865625} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c434986e4d918e47dddc8a0e570deeeb"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1b97e510-ee53-4f60-8a64-316bbf0e66ee","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445726.8732872} 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":"c434986e4d918e47dddc8a0e570deeeb"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ddb4fc-93b7-48dd-b42c-bc58a73a8717","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ddb4fc-93b7-48dd-b42c-bc58a73a8717","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:26.364813717Z"}]},"request_id":"8f11560d-a711-40ec-8976-907584f75876","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445726.8865244} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c434986e4d918e47dddc8a0e570deeeb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"c434986e4d918e47dddc8a0e570deeeb"} device-1 | {"level":"info","message":"PATCH /devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717 200 39ms","method":"PATCH","requestID":"c434986e4d918e47dddc8a0e570deeeb","responseTime":39,"status":200,"url":"/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyNn0.oZJlKSUEwyP8y0mZYK-9IDiy1_TujGU2_wU2mJQnkE0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0a03c0bac55705f671ef435ebe7159de","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:26Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.853856,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445726,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyNn0.oZJlKSUEwyP8y0mZYK-9IDiy1_TujGU2_wU2mJQnkE0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0a03c0bac55705f671ef435ebe7159de"},"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/15ddb4fc-93b7-48dd-b42c-bc58a73a8717/websocket 200 21ms","method":"POST","requestID":"0a03c0bac55705f671ef435ebe7159de","responseTime":21,"status":200,"url":"/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:35:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"0a03c0bac55705f671ef435ebe7159de"} device-1 | {"level":"info","message":"device 'http://localhost/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c49812e9de77d32c3b097baa664d60e2","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:35:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/110d2ed2-d1f8-43e7-a77c-2527b1453017/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":"c49812e9de77d32c3b097baa664d60e2"} device-1 | {"level":"info","message":"OPTIONS /devices/110d2ed2-d1f8-43e7-a77c-2527b1453017/websocket 200 1ms","method":"OPTIONS","requestID":"c49812e9de77d32c3b097baa664d60e2","responseTime":1,"status":200,"url":"/devices/110d2ed2-d1f8-43e7-a77c-2527b1453017/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyOH0.yKvyDAqr8h6-Bg42_18JW-mjOX9YGp-NGese1nsyExc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0827c3c6b4ad3decd94dcd564bdf65ed","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:28Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.18866,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/110d2ed2-d1f8-43e7-a77c-2527b1453017","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/110d2ed2-d1f8-43e7-a77c-2527b1453017","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445728,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyOH0.yKvyDAqr8h6-Bg42_18JW-mjOX9YGp-NGese1nsyExc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0827c3c6b4ad3decd94dcd564bdf65ed"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/110d2ed2-d1f8-43e7-a77c-2527b1453017/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0827c3c6b4ad3decd94dcd564bdf65ed"} device-1 | {"level":"info","message":"POST /devices/110d2ed2-d1f8-43e7-a77c-2527b1453017/websocket 200 23ms","method":"POST","requestID":"0827c3c6b4ad3decd94dcd564bdf65ed","responseTime":23,"status":200,"url":"/devices/110d2ed2-d1f8-43e7-a77c-2527b1453017/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/110d2ed2-d1f8-43e7-a77c-2527b1453017' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyOH0.yKvyDAqr8h6-Bg42_18JW-mjOX9YGp-NGese1nsyExc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"780a86fb42938c62d869c1aaec64b4f7","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:28Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.188802,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/110d2ed2-d1f8-43e7-a77c-2527b1453017","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/110d2ed2-d1f8-43e7-a77c-2527b1453017","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445728,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyOH0.yKvyDAqr8h6-Bg42_18JW-mjOX9YGp-NGese1nsyExc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"780a86fb42938c62d869c1aaec64b4f7"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F110d2ed2-d1f8-43e7-a77c-2527b1453017","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F110d2ed2-d1f8-43e7-a77c-2527b1453017","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:26.314539837Z"}]},"request_id":"ee56d5e3-b6d3-4981-a7f3-b597e94ec8dd","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445728.4576018} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"780a86fb42938c62d869c1aaec64b4f7"},"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/110d2ed2-d1f8-43e7-a77c-2527b1453017? 200 16ms","method":"GET","requestID":"780a86fb42938c62d869c1aaec64b4f7","responseTime":16,"status":200,"url":"/devices/110d2ed2-d1f8-43e7-a77c-2527b1453017?"} gateway-1 | {"time_local":"08/Jul/2024:13:35:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/110d2ed2-d1f8-43e7-a77c-2527b1453017? 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":"780a86fb42938c62d869c1aaec64b4f7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyOH0.yKvyDAqr8h6-Bg42_18JW-mjOX9YGp-NGese1nsyExc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"9950b87c7c4b037728cd1b3daba833c0","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:28Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.343598,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445728,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyOH0.yKvyDAqr8h6-Bg42_18JW-mjOX9YGp-NGese1nsyExc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9950b87c7c4b037728cd1b3daba833c0"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ddb4fc-93b7-48dd-b42c-bc58a73a8717","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ddb4fc-93b7-48dd-b42c-bc58a73a8717","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:26.364813717Z"}]},"request_id":"3bf46f5c-daa9-4beb-9297-9072a958312e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445728.485006} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9950b87c7c4b037728cd1b3daba833c0"},"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/15ddb4fc-93b7-48dd-b42c-bc58a73a8717? 200 19ms","method":"GET","requestID":"9950b87c7c4b037728cd1b3daba833c0","responseTime":19,"status":200,"url":"/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717?"} gateway-1 | {"time_local":"08/Jul/2024:13:35:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9950b87c7c4b037728cd1b3daba833c0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyOH0.yKvyDAqr8h6-Bg42_18JW-mjOX9YGp-NGese1nsyExc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"da5def0942565e3fd7b0eb39e7f9f7ee","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:58630","level":"info","msg":"Received request.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:28Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.286885,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445728,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyOH0.yKvyDAqr8h6-Bg42_18JW-mjOX9YGp-NGese1nsyExc"} 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":"da5def0942565e3fd7b0eb39e7f9f7ee"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba71d447-be95-4ca3-aaed-855fc433075c"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba71d447-be95-4ca3-aaed-855fc433075c"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba71d447-be95-4ca3-aaed-855fc433075c"},"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:58630","level":"info","msg":"Received request.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:28Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.605788,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:28Z"} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Received request.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/110d2ed2-d1f8-43e7-a77c-2527b1453017","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/110d2ed2-d1f8-43e7-a77c-2527b1453017","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445728,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyOH0.yKvyDAqr8h6-Bg42_18JW-mjOX9YGp-NGese1nsyExc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f08ee020-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Sent response.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.224368,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445728,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyOH0.yKvyDAqr8h6-Bg42_18JW-mjOX9YGp-NGese1nsyExc"} 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":"f08f2e40-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F110d2ed2-d1f8-43e7-a77c-2527b1453017","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F110d2ed2-d1f8-43e7-a77c-2527b1453017","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:26.314539837Z"}]},"request_id":"efe1e28f-0459-425b-a2bf-6bef41a31fad","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445728.5609877} 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":"f08ee020-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ddb4fc-93b7-48dd-b42c-bc58a73a8717","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ddb4fc-93b7-48dd-b42c-bc58a73a8717","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:26.364813717Z"}]},"request_id":"11aace93-e349-476b-8b25-193e3145ef23","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445728.562826} 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":"f08f2e40-3d2e-11ef-b932-e1799b48160b"},"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/110d2ed2-d1f8-43e7-a77c-2527b1453017? 200 24ms","method":"GET","requestID":"f08ee020-3d2e-11ef-b932-e1799b48160b","responseTime":24,"status":200,"url":"/devices/110d2ed2-d1f8-43e7-a77c-2527b1453017?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717? 200 24ms","method":"GET","requestID":"f08f2e40-3d2e-11ef-b932-e1799b48160b","responseTime":24,"status":200,"url":"/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba71d447-be95-4ca3-aaed-855fc433075c"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba71d447-be95-4ca3-aaed-855fc433075c"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba71d447-be95-4ca3-aaed-855fc433075c"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba71d447-be95-4ca3-aaed-855fc433075c"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba71d447-be95-4ca3-aaed-855fc433075c"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba71d447-be95-4ca3-aaed-855fc433075c"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba71d447-be95-4ca3-aaed-855fc433075c"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba71d447-be95-4ca3-aaed-855fc433075c"},"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/ba71d447-be95-4ca3-aaed-855fc433075c"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:28Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.767691,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/110d2ed2-d1f8-43e7-a77c-2527b1453017","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/110d2ed2-d1f8-43e7-a77c-2527b1453017","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445728,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyOH0.yKvyDAqr8h6-Bg42_18JW-mjOX9YGp-NGese1nsyExc"} 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":"f09b1520-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Received request.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:28Z"} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Sent response.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.269141,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445728,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyOH0.yKvyDAqr8h6-Bg42_18JW-mjOX9YGp-NGese1nsyExc"} 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":"f09b6340-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:28Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F110d2ed2-d1f8-43e7-a77c-2527b1453017","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4278e3c0-7a0e-4d73-9fa7-86b10853c962","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445728.6401258} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F110d2ed2-d1f8-43e7-a77c-2527b1453017","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F110d2ed2-d1f8-43e7-a77c-2527b1453017","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:26.314539837Z"}]},"request_id":"ee6c16de-9ab4-4d4f-b63f-21411b6bfde6","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445728.6445713} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":7.592289,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/110d2ed2-d1f8-43e7-a77c-2527b1453017","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/110d2ed2-d1f8-43e7-a77c-2527b1453017","object_type":"device","rebac_allow":false,"scope_allow":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":"f09bb160-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f09b1520-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ddb4fc-93b7-48dd-b42c-bc58a73a8717","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ddb4fc-93b7-48dd-b42c-bc58a73a8717","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:26.364813717Z"}]},"request_id":"9aa87145-50f3-4083-bb9a-413e88505a3c","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445728.6463165} 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":"f09b6340-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fba71d447-be95-4ca3-aaed-855fc433075c#owner@http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fba71d447-be95-4ca3-aaed-855fc433075c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"b78faba4-b605-4961-ba62-f772c012a759","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445728.6559181} 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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"75000884-5c27-4a0d-91d3-60730ce5b007","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445728.6563275} device-1 | {"level":"info","message":"POST /devices/110d2ed2-d1f8-43e7-a77c-2527b1453017/signaling 200 27ms","method":"POST","requestID":"f09bb160-3d2e-11ef-b932-e1799b48160b","responseTime":27,"status":200,"url":"/devices/110d2ed2-d1f8-43e7-a77c-2527b1453017/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/110d2ed2-d1f8-43e7-a77c-2527b1453017? 200 32ms","method":"GET","requestID":"f09b1520-3d2e-11ef-b932-e1799b48160b","responseTime":32,"status":200,"url":"/devices/110d2ed2-d1f8-43e7-a77c-2527b1453017?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"da5def0942565e3fd7b0eb39e7f9f7ee"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":22}} device-1 | {"level":"info","message":"GET /devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717? 200 32ms","method":"GET","requestID":"f09b6340-3d2e-11ef-b932-e1799b48160b","responseTime":32,"status":200,"url":"/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:28Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ddb4fc-93b7-48dd-b42c-bc58a73a8717","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e0d41db5-77e3-47d2-9fa0-dd438c220be7","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445728.669066} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.912834,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717","object_type":"device","rebac_allow":false,"scope_allow":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":"f0a06c50-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/ba71d447-be95-4ca3-aaed-855fc433075c","user":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:28Z"} gateway-1 | {"time_local":"08/Jul/2024:13:35:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.184","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"da5def0942565e3fd7b0eb39e7f9f7ee"} device-1 | {"level":"info","message":"POST /devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717/signaling 200 16ms","method":"POST","requestID":"f0a06c50-3d2e-11ef-b932-e1799b48160b","responseTime":16,"status":200,"url":"/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717/signaling"} experiment-1 | {"level":"info","message":"POST /experiments? 201 177ms","method":"POST","requestID":"da5def0942565e3fd7b0eb39e7f9f7ee","responseTime":177,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F110d2ed2-d1f8-43e7-a77c-2527b1453017","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2ca4447c-a776-4954-b47a-3916264d5161","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445728.6800213} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.946542,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/110d2ed2-d1f8-43e7-a77c-2527b1453017","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/110d2ed2-d1f8-43e7-a77c-2527b1453017","object_type":"device","rebac_allow":false,"scope_allow":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":"f0a1a4d0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyOH0.yKvyDAqr8h6-Bg42_18JW-mjOX9YGp-NGese1nsyExc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"057dae490b67b9943efcbd68c9009473","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/110d2ed2-d1f8-43e7-a77c-2527b1453017/signaling 200 19ms","method":"POST","requestID":"f0a1a4d0-3d2e-11ef-b932-e1799b48160b","responseTime":19,"status":200,"url":"/devices/110d2ed2-d1f8-43e7-a77c-2527b1453017/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:28Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.07532,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:28Z"} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Received request.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/110d2ed2-d1f8-43e7-a77c-2527b1453017","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/110d2ed2-d1f8-43e7-a77c-2527b1453017","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445728,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyOH0.yKvyDAqr8h6-Bg42_18JW-mjOX9YGp-NGese1nsyExc"} 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":"057dae490b67b9943efcbd68c9009473"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ddb4fc-93b7-48dd-b42c-bc58a73a8717","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"277e8d7b-1de9-4b01-84a6-b1d05b420a00","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445728.6990428} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Sent response.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.25945,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f0a50030-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F110d2ed2-d1f8-43e7-a77c-2527b1453017","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F110d2ed2-d1f8-43e7-a77c-2527b1453017","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:26.314539837Z"}]},"request_id":"10272a1e-ebe6-4cda-b029-29dcf98771d5","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445728.7055163} 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":"057dae490b67b9943efcbd68c9009473"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717/signaling 200 22ms","method":"POST","requestID":"f0a50030-3d2e-11ef-b932-e1799b48160b","responseTime":22,"status":200,"url":"/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba71d447-be95-4ca3-aaed-855fc433075c"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba71d447-be95-4ca3-aaed-855fc433075c"},"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":"e8a56d3a-3b3c-419e-8553-efa9623ea978"},{"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":"0162ac75-1537-46da-8311-203936bf6b9f"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"f783e9d1-cf0b-4fe6-adb4-5009e670d0cb"}]},"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/15ddb4fc-93b7-48dd-b42c-bc58a73a8717"},{"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/110d2ed2-d1f8-43e7-a77c-2527b1453017"}],"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/110d2ed2-d1f8-43e7-a77c-2527b1453017? 200 34ms","method":"GET","requestID":"057dae490b67b9943efcbd68c9009473","responseTime":34,"status":200,"url":"/devices/110d2ed2-d1f8-43e7-a77c-2527b1453017?"} gateway-1 | {"time_local":"08/Jul/2024:13:35:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/110d2ed2-d1f8-43e7-a77c-2527b1453017? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"057dae490b67b9943efcbd68c9009473"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:28Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyOH0.yKvyDAqr8h6-Bg42_18JW-mjOX9YGp-NGese1nsyExc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5110d78f55d6a89b318ddbb660395495","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.91655,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445728,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyOH0.yKvyDAqr8h6-Bg42_18JW-mjOX9YGp-NGese1nsyExc"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","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":"f0a91ee0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:28Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.196939,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445728,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTcyOH0.yKvyDAqr8h6-Bg42_18JW-mjOX9YGp-NGese1nsyExc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5110d78f55d6a89b318ddbb660395495"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ddb4fc-93b7-48dd-b42c-bc58a73a8717","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ddb4fc-93b7-48dd-b42c-bc58a73a8717","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:26.364813717Z"}]},"request_id":"7b32b772-0701-421b-8ffb-4aeccdce03ad","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445728.7444034} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5110d78f55d6a89b318ddbb660395495"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","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%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"a9a91a38-a569-4bf8-8d5e-e90e2a64d947","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445728.7462907} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3ab261c0-4b73-4063-867b-92f3b8cbbfb4","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445728.7465208} 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":"f0a91ee0-3d2e-11ef-b932-e1799b48160b"},"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":"08/Jul/2024:13:35:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5110d78f55d6a89b318ddbb660395495"} device-1 | {"level":"info","message":"GET /devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717? 200 21ms","method":"GET","requestID":"5110d78f55d6a89b318ddbb660395495","responseTime":21,"status":200,"url":"/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717?"} 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/50037d9d-beaf-427d-89aa-8975b3f5a613'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/50037d9d-beaf-427d-89aa-8975b3f5a613'"} 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":"f0a91ee0-3d2e-11ef-b932-e1799b48160b","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/ba71d447-be95-4ca3-aaed-855fc433075c"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:28Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F110d2ed2-d1f8-43e7-a77c-2527b1453017","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1c6e96df-a847-4681-9868-6dc5fa386de4","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445728.7947884} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.070079,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/110d2ed2-d1f8-43e7-a77c-2527b1453017","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/110d2ed2-d1f8-43e7-a77c-2527b1453017","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f0b3f450-3d2e-11ef-b932-e1799b48160b"},"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/110d2ed2-d1f8-43e7-a77c-2527b1453017/signaling 200 10ms","method":"POST","requestID":"f0b3f450-3d2e-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/110d2ed2-d1f8-43e7-a77c-2527b1453017/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:28Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ddb4fc-93b7-48dd-b42c-bc58a73a8717","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c5d9504f-7f14-4697-8243-d34e80799b97","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445728.8055365} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.335512,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f0b5c910-3d2e-11ef-b932-e1799b48160b"},"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/15ddb4fc-93b7-48dd-b42c-bc58a73a8717/signaling 200 10ms","method":"POST","requestID":"f0b5c910-3d2e-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/110d2ed2-d1f8-43e7-a77c-2527b1453017'"} device-1 | {"data":{"peerconnection":"50037d9d-beaf-427d-89aa-8975b3f5a613","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/50037d9d-beaf-427d-89aa-8975b3f5a613' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"50037d9d-beaf-427d-89aa-8975b3f5a613","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7258dfcb2f45ce56307e46506ad05b5c","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717"},{"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/110d2ed2-d1f8-43e7-a77c-2527b1453017"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/50037d9d-beaf-427d-89aa-8975b3f5a613"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"7258dfcb2f45ce56307e46506ad05b5c","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"7258dfcb2f45ce56307e46506ad05b5c"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/110d2ed2-d1f8-43e7-a77c-2527b1453017'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/110d2ed2-d1f8-43e7-a77c-2527b1453017'"} device-1 | {"data":{"peerconnection":"50037d9d-beaf-427d-89aa-8975b3f5a613","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"50037d9d-beaf-427d-89aa-8975b3f5a613","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/50037d9d-beaf-427d-89aa-8975b3f5a613' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"50037d9d-beaf-427d-89aa-8975b3f5a613","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"550256e70c93b00e9e2fd9cceb685aaa","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/15ddb4fc-93b7-48dd-b42c-bc58a73a8717"},{"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/110d2ed2-d1f8-43e7-a77c-2527b1453017"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/50037d9d-beaf-427d-89aa-8975b3f5a613"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:30Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F50037d9d-beaf-427d-89aa-8975b3f5a613","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"17fd5893-8fc0-4818-87bc-aba0fc35136e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445730.909622} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.743095,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/50037d9d-beaf-427d-89aa-8975b3f5a613","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/50037d9d-beaf-427d-89aa-8975b3f5a613","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":"f1f6ad80-3d2e-11ef-b932-e1799b48160b"},"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/50037d9d-beaf-427d-89aa-8975b3f5a613 200 9ms","method":"GET","requestID":"f1f6ad80-3d2e-11ef-b932-e1799b48160b","responseTime":9,"status":200,"url":"/peerconnections/50037d9d-beaf-427d-89aa-8975b3f5a613"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 32ms","method":"POST","requestID":"550256e70c93b00e9e2fd9cceb685aaa","responseTime":32,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.036","http_referrer":"","http_user_agent":"node-fetch","requestID":"550256e70c93b00e9e2fd9cceb685aaa"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:30Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ddb4fc-93b7-48dd-b42c-bc58a73a8717","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7ccf9337-5fd3-4d98-b180-a8a778952862","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445730.936147} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.676378,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f1facc30-3d2e-11ef-b932-e1799b48160b"},"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/15ddb4fc-93b7-48dd-b42c-bc58a73a8717/signaling 200 9ms","method":"POST","requestID":"f1facc30-3d2e-11ef-b932-e1799b48160b","responseTime":9,"status":200,"url":"/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:30Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F110d2ed2-d1f8-43e7-a77c-2527b1453017","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4621495b-1105-4bb5-8ee6-9602718e158b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445730.9480808} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.022934,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/110d2ed2-d1f8-43e7-a77c-2527b1453017","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/110d2ed2-d1f8-43e7-a77c-2527b1453017","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f1fc79e0-3d2e-11ef-b932-e1799b48160b"},"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/110d2ed2-d1f8-43e7-a77c-2527b1453017/signaling 200 10ms","method":"POST","requestID":"f1fc79e0-3d2e-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/110d2ed2-d1f8-43e7-a77c-2527b1453017/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczMH0.iV4UtlYvtHVRarY7Y1dKiJ1vA6vcU8GL9c7yvGNaygw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e7f4341b8f1d0604fc72674c36446578","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ba71d447-be95-4ca3-aaed-855fc433075c"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:31Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.239052,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ba71d447-be95-4ca3-aaed-855fc433075c","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/ba71d447-be95-4ca3-aaed-855fc433075c","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445730,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczMH0.iV4UtlYvtHVRarY7Y1dKiJ1vA6vcU8GL9c7yvGNaygw"} 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":"e7f4341b8f1d0604fc72674c36446578"},"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/ba71d447-be95-4ca3-aaed-855fc433075c"} experiment-1 | {"level":"info","message":"GET /experiments/ba71d447-be95-4ca3-aaed-855fc433075c 200 15ms","method":"GET","requestID":"e7f4341b8f1d0604fc72674c36446578","responseTime":15,"status":200,"url":"/experiments/ba71d447-be95-4ca3-aaed-855fc433075c"} gateway-1 | {"time_local":"08/Jul/2024:13:35:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ba71d447-be95-4ca3-aaed-855fc433075c 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":"e7f4341b8f1d0604fc72674c36446578"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczMX0.jxxu4Fyl7dhtZrhge4se_cKDU1MEqJpjxHgU6bH5OmY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"45b60999f8b7cd582e7efe75bb3c3f6d","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ba71d447-be95-4ca3-aaed-855fc433075c"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:31Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.222711,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:31Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ba71d447-be95-4ca3-aaed-855fc433075c","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/ba71d447-be95-4ca3-aaed-855fc433075c","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445731,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczMX0.jxxu4Fyl7dhtZrhge4se_cKDU1MEqJpjxHgU6bH5OmY"} 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":"45b60999f8b7cd582e7efe75bb3c3f6d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba71d447-be95-4ca3-aaed-855fc433075c"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:31Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.181035,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:31Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/50037d9d-beaf-427d-89aa-8975b3f5a613","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:http://localhost/peerconnections/50037d9d-beaf-427d-89aa-8975b3f5a613","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445731,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczMX0.jxxu4Fyl7dhtZrhge4se_cKDU1MEqJpjxHgU6bH5OmY"} 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":"f20af8d0-3d2e-11ef-b932-e1799b48160b"},"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/50037d9d-beaf-427d-89aa-8975b3f5a613' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/50037d9d-beaf-427d-89aa-8975b3f5a613' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"50037d9d-beaf-427d-89aa-8975b3f5a613","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5c83d8ef48e91a5e7449e44fdcfaaad5","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F50037d9d-beaf-427d-89aa-8975b3f5a613': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F50037d9d-beaf-427d-89aa-8975b3f5a613","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"05c9cacf-6808-4cbb-b2f5-bd3fb3258d51","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445731.066627} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/15ddb4fc-93b7-48dd-b42c-bc58a73a8717"},{"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/110d2ed2-d1f8-43e7-a77c-2527b1453017"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/50037d9d-beaf-427d-89aa-8975b3f5a613"}}},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8d35da20-284f-4ba4-a130-47c11664933e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445731.067008} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"90e9fd85e8093f28ae52bfc6cc907437","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717"},{"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/110d2ed2-d1f8-43e7-a77c-2527b1453017"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/50037d9d-beaf-427d-89aa-8975b3f5a613"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f20af8d0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"data":{"peerconnection":"50037d9d-beaf-427d-89aa-8975b3f5a613","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/50037d9d-beaf-427d-89aa-8975b3f5a613 204 50ms","method":"DELETE","requestID":"f20af8d0-3d2e-11ef-b932-e1799b48160b","responseTime":50,"status":204,"url":"/peerconnections/50037d9d-beaf-427d-89aa-8975b3f5a613"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba71d447-be95-4ca3-aaed-855fc433075c"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:31Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15ddb4fc-93b7-48dd-b42c-bc58a73a8717","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cfb554f6-b48c-42b1-b714-5907b0e9c113","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445731.117943} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.388494,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f2164370-3d2e-11ef-b932-e1799b48160b"},"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/15ddb4fc-93b7-48dd-b42c-bc58a73a8717/signaling 200 11ms","method":"POST","requestID":"f2164370-3d2e-11ef-b932-e1799b48160b","responseTime":11,"status":200,"url":"/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fba71d447-be95-4ca3-aaed-855fc433075c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fba71d447-be95-4ca3-aaed-855fc433075c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"fde9603d-39bb-4ee7-ba74-16063f15552b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445731.1263225} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2e7ba150-e483-44b0-9f67-66dba4161891","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445731.126505} 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":"45b60999f8b7cd582e7efe75bb3c3f6d"},"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:58630","level":"info","msg":"Received request.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:31Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F110d2ed2-d1f8-43e7-a77c-2527b1453017","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"090d2f38-04d4-4a90-a515-a1663df6fc10","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445731.1322331} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.725522,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/110d2ed2-d1f8-43e7-a77c-2527b1453017","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/110d2ed2-d1f8-43e7-a77c-2527b1453017","object_type":"device","rebac_allow":false,"scope_allow":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":"f2186650-3d2e-11ef-b932-e1799b48160b"},"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/110d2ed2-d1f8-43e7-a77c-2527b1453017/signaling 200 12ms","method":"POST","requestID":"f2186650-3d2e-11ef-b932-e1799b48160b","responseTime":12,"status":200,"url":"/devices/110d2ed2-d1f8-43e7-a77c-2527b1453017/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ba71d447-be95-4ca3-aaed-855fc433075c"} gateway-1 | {"time_local":"08/Jul/2024:13:35:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ba71d447-be95-4ca3-aaed-855fc433075c 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":"45b60999f8b7cd582e7efe75bb3c3f6d"} experiment-1 | {"level":"info","message":"DELETE /experiments/ba71d447-be95-4ca3-aaed-855fc433075c 204 165ms","method":"DELETE","requestID":"45b60999f8b7cd582e7efe75bb3c3f6d","responseTime":165,"status":204,"url":"/experiments/ba71d447-be95-4ca3-aaed-855fc433075c"} gateway-1 | {"time_local":"08/Jul/2024:13:35:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3230","request_time":"4.268","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"3e71bbf5a7cec2fb3abd06d37d014840"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 123ms","method":"POST","requestID":"5c83d8ef48e91a5e7449e44fdcfaaad5","responseTime":123,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.129","http_referrer":"","http_user_agent":"node-fetch","requestID":"5c83d8ef48e91a5e7449e44fdcfaaad5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 121ms","method":"POST","requestID":"90e9fd85e8093f28ae52bfc6cc907437","responseTime":121,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.128","http_referrer":"","http_user_agent":"node-fetch","requestID":"90e9fd85e8093f28ae52bfc6cc907437"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczMX0.jxxu4Fyl7dhtZrhge4se_cKDU1MEqJpjxHgU6bH5OmY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"66bfb05d657992ebd17c17b89fe3ae5a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:31Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":3.248965,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:31Z"} gateway-1 | {"time_local":"08/Jul/2024:13:35:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2742","request_time":"2.775","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"100314a27d03179e08750d3a2d896c81"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445731,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczMX0.jxxu4Fyl7dhtZrhge4se_cKDU1MEqJpjxHgU6bH5OmY"} 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":"66bfb05d657992ebd17c17b89fe3ae5a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/15ddb4fc-93b7-48dd-b42c-bc58a73a8717' 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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03371e94-688a-4abb-a6f4-8c60d7eb42af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"99f3383c-f547-4310-a5ba-20db53c99283","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445731.221482} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"66bfb05d657992ebd17c17b89fe3ae5a"},"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/110d2ed2-d1f8-43e7-a77c-2527b1453017' 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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9b682fb2-bce3-4f44-8443-3df961e88d73","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445731.2271092} 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":"66bfb05d657992ebd17c17b89fe3ae5a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03371e94-688a-4abb-a6f4-8c60d7eb42af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"878ab86e-2a00-4df6-8258-188126018883","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445731.237347} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f5e5093e-13de-4b12-8566-38c13405dbb8","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445731.23765} 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":"66bfb05d657992ebd17c17b89fe3ae5a"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03371e94-688a-4abb-a6f4-8c60d7eb42af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03371e94-688a-4abb-a6f4-8c60d7eb42af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:31.237306847Z"}]},"request_id":"687aa9cf-7d1e-4357-b5ae-ba9992202305","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445731.2420115} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"66bfb05d657992ebd17c17b89fe3ae5a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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":"66bfb05d657992ebd17c17b89fe3ae5a"} device-1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"66bfb05d657992ebd17c17b89fe3ae5a","responseTime":51,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczMX0.jxxu4Fyl7dhtZrhge4se_cKDU1MEqJpjxHgU6bH5OmY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"aba99dc4966528e9268a348000112dc2","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:31Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.709612,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445731,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczMX0.jxxu4Fyl7dhtZrhge4se_cKDU1MEqJpjxHgU6bH5OmY"} 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":"aba99dc4966528e9268a348000112dc2"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b82f3294-f78a-41f2-a2bd-d51c89adafae","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445731.2719977} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aba99dc4966528e9268a348000112dc2"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b3aa5b8d-3f96-4c95-a9f1-0cd4d04fdc99","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445731.2772398} 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":"aba99dc4966528e9268a348000112dc2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"302ded70-d2fa-4ad1-8790-42a3cba40f42","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445731.2885962} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a92536cb-922d-4ea6-88f0-397b05f64692","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445731.288801} 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":"aba99dc4966528e9268a348000112dc2"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:31.288567774Z"}]},"request_id":"a636d2f8-b564-4d93-81d7-76be78cd6ed8","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445731.2932317} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aba99dc4966528e9268a348000112dc2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aba99dc4966528e9268a348000112dc2"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"aba99dc4966528e9268a348000112dc2","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczMX0.jxxu4Fyl7dhtZrhge4se_cKDU1MEqJpjxHgU6bH5OmY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e5f65858d43f5ac4cdea204cdc94fd14","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:31Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.823743,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/03371e94-688a-4abb-a6f4-8c60d7eb42af","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/03371e94-688a-4abb-a6f4-8c60d7eb42af","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445731,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczMX0.jxxu4Fyl7dhtZrhge4se_cKDU1MEqJpjxHgU6bH5OmY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e5f65858d43f5ac4cdea204cdc94fd14"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03371e94-688a-4abb-a6f4-8c60d7eb42af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03371e94-688a-4abb-a6f4-8c60d7eb42af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:31.237306847Z"}]},"request_id":"2f9d256e-184d-4ead-86b0-33182ef4b183","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445731.7884083} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e5f65858d43f5ac4cdea204cdc94fd14"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8394e629-ba5a-42f2-ba2a-10ac4767b186","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445731.7950692} 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":"e5f65858d43f5ac4cdea204cdc94fd14"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03371e94-688a-4abb-a6f4-8c60d7eb42af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03371e94-688a-4abb-a6f4-8c60d7eb42af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:31.237306847Z"}]},"request_id":"d1dceea3-e328-45bf-8c80-d7556b2309b9","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445731.807921} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e5f65858d43f5ac4cdea204cdc94fd14"},"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/03371e94-688a-4abb-a6f4-8c60d7eb42af 200 36ms","method":"PATCH","requestID":"e5f65858d43f5ac4cdea204cdc94fd14","responseTime":36,"status":200,"url":"/devices/03371e94-688a-4abb-a6f4-8c60d7eb42af"} gateway-1 | {"time_local":"08/Jul/2024:13:35:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/03371e94-688a-4abb-a6f4-8c60d7eb42af HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.043","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"e5f65858d43f5ac4cdea204cdc94fd14"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczMX0.jxxu4Fyl7dhtZrhge4se_cKDU1MEqJpjxHgU6bH5OmY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"73b993498b808171f741194a9d2f47a3","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:31Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.647722,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/03371e94-688a-4abb-a6f4-8c60d7eb42af","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/03371e94-688a-4abb-a6f4-8c60d7eb42af","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445731,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczMX0.jxxu4Fyl7dhtZrhge4se_cKDU1MEqJpjxHgU6bH5OmY"} 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":"73b993498b808171f741194a9d2f47a3"},"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/03371e94-688a-4abb-a6f4-8c60d7eb42af/websocket 200 15ms","method":"POST","requestID":"73b993498b808171f741194a9d2f47a3","responseTime":15,"status":200,"url":"/devices/03371e94-688a-4abb-a6f4-8c60d7eb42af/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:35:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/03371e94-688a-4abb-a6f4-8c60d7eb42af/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.021","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"73b993498b808171f741194a9d2f47a3"} device-1 | {"level":"info","message":"device 'http://localhost/devices/03371e94-688a-4abb-a6f4-8c60d7eb42af' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"de755a276c5647922c5d58c78e7a3354","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:35:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2/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":"de755a276c5647922c5d58c78e7a3354"} device-1 | {"level":"info","message":"OPTIONS /devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2/websocket 200 1ms","method":"OPTIONS","requestID":"de755a276c5647922c5d58c78e7a3354","responseTime":1,"status":200,"url":"/devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczM30.SJBGeripBP-2uhZE5ePJqSxnXjml-cTUqmitGbc20Os","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"78c5045e67de2e5f26c1fa207526f225","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:33Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.226331,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445733,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczM30.SJBGeripBP-2uhZE5ePJqSxnXjml-cTUqmitGbc20Os"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"78c5045e67de2e5f26c1fa207526f225"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"78c5045e67de2e5f26c1fa207526f225"} device-1 | {"level":"info","message":"POST /devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2/websocket 200 20ms","method":"POST","requestID":"78c5045e67de2e5f26c1fa207526f225","responseTime":20,"status":200,"url":"/devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczM30.SJBGeripBP-2uhZE5ePJqSxnXjml-cTUqmitGbc20Os","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"5368176cb0f61a867efe19615f701cf9","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:33Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.265508,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/03371e94-688a-4abb-a6f4-8c60d7eb42af","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/03371e94-688a-4abb-a6f4-8c60d7eb42af","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445733,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczM30.SJBGeripBP-2uhZE5ePJqSxnXjml-cTUqmitGbc20Os"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5368176cb0f61a867efe19615f701cf9"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03371e94-688a-4abb-a6f4-8c60d7eb42af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03371e94-688a-4abb-a6f4-8c60d7eb42af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:31.237306847Z"}]},"request_id":"1d13e1d3-5524-41bf-9b56-cd1a7489b653","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445733.4027343} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5368176cb0f61a867efe19615f701cf9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/03371e94-688a-4abb-a6f4-8c60d7eb42af? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5368176cb0f61a867efe19615f701cf9"} device-1 | {"level":"info","message":"GET /devices/03371e94-688a-4abb-a6f4-8c60d7eb42af? 200 17ms","method":"GET","requestID":"5368176cb0f61a867efe19615f701cf9","responseTime":17,"status":200,"url":"/devices/03371e94-688a-4abb-a6f4-8c60d7eb42af?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczM30.SJBGeripBP-2uhZE5ePJqSxnXjml-cTUqmitGbc20Os","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6a438409ce7bc500cf773a5b64c25ca0","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:33Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.210858,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445733,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczM30.SJBGeripBP-2uhZE5ePJqSxnXjml-cTUqmitGbc20Os"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6a438409ce7bc500cf773a5b64c25ca0"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:31.288567774Z"}]},"request_id":"7dd58131-07fc-41a8-a05e-e3f31d7572ee","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445733.428253} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6a438409ce7bc500cf773a5b64c25ca0"},"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/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2? 200 18ms","method":"GET","requestID":"6a438409ce7bc500cf773a5b64c25ca0","responseTime":18,"status":200,"url":"/devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2?"} gateway-1 | {"time_local":"08/Jul/2024:13:35:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2? 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":"6a438409ce7bc500cf773a5b64c25ca0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczM30.SJBGeripBP-2uhZE5ePJqSxnXjml-cTUqmitGbc20Os","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"55de29c5bf5cd8b69dad8efcae6f7396","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:58630","level":"info","msg":"Received request.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:33Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.269771,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445733,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczM30.SJBGeripBP-2uhZE5ePJqSxnXjml-cTUqmitGbc20Os"} 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":"55de29c5bf5cd8b69dad8efcae6f7396"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/211d3777-2861-42f9-ae1b-cee28efe4e42"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/211d3777-2861-42f9-ae1b-cee28efe4e42"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/211d3777-2861-42f9-ae1b-cee28efe4e42"},"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:58630","level":"info","msg":"Received request.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:33Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.172279,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:33Z"} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Received request.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/03371e94-688a-4abb-a6f4-8c60d7eb42af","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/03371e94-688a-4abb-a6f4-8c60d7eb42af","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445733,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczM30.SJBGeripBP-2uhZE5ePJqSxnXjml-cTUqmitGbc20Os"} 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":"f38033b0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Sent response.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.692621,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445733,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczM30.SJBGeripBP-2uhZE5ePJqSxnXjml-cTUqmitGbc20Os"} 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":"f38081d0-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03371e94-688a-4abb-a6f4-8c60d7eb42af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03371e94-688a-4abb-a6f4-8c60d7eb42af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:31.237306847Z"}]},"request_id":"439afa85-5a52-41da-bd83-0d73d145ccf5","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445733.4984658} 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":"f38033b0-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:31.288567774Z"}]},"request_id":"82320455-1d36-42d3-8b8e-f4395c2332e9","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445733.4999003} 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":"f38081d0-3d2e-11ef-b932-e1799b48160b"},"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/03371e94-688a-4abb-a6f4-8c60d7eb42af? 200 24ms","method":"GET","requestID":"f38033b0-3d2e-11ef-b932-e1799b48160b","responseTime":24,"status":200,"url":"/devices/03371e94-688a-4abb-a6f4-8c60d7eb42af?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2? 200 24ms","method":"GET","requestID":"f38081d0-3d2e-11ef-b932-e1799b48160b","responseTime":24,"status":200,"url":"/devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/211d3777-2861-42f9-ae1b-cee28efe4e42"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/211d3777-2861-42f9-ae1b-cee28efe4e42"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/211d3777-2861-42f9-ae1b-cee28efe4e42"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/211d3777-2861-42f9-ae1b-cee28efe4e42"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/211d3777-2861-42f9-ae1b-cee28efe4e42"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/211d3777-2861-42f9-ae1b-cee28efe4e42"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/211d3777-2861-42f9-ae1b-cee28efe4e42"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/211d3777-2861-42f9-ae1b-cee28efe4e42"},"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/211d3777-2861-42f9-ae1b-cee28efe4e42"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:33Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.172707,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:33Z"} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Received request.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/03371e94-688a-4abb-a6f4-8c60d7eb42af","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/03371e94-688a-4abb-a6f4-8c60d7eb42af","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445733,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczM30.SJBGeripBP-2uhZE5ePJqSxnXjml-cTUqmitGbc20Os"} 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":"f38c68b0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Sent response.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.438447,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445733,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczM30.SJBGeripBP-2uhZE5ePJqSxnXjml-cTUqmitGbc20Os"} 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":"f38cb6d0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:33Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.630718,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:33Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03371e94-688a-4abb-a6f4-8c60d7eb42af","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"058b76ce-3bdd-4430-ab27-b9af0a26474b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445733.5812829} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/03371e94-688a-4abb-a6f4-8c60d7eb42af","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/03371e94-688a-4abb-a6f4-8c60d7eb42af","object_type":"device","rebac_allow":false,"scope_allow":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":"f38d2c00-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03371e94-688a-4abb-a6f4-8c60d7eb42af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03371e94-688a-4abb-a6f4-8c60d7eb42af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:31.237306847Z"}]},"request_id":"43b21d03-0f94-4c66-9e48-58d818839b64","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445733.5833569} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:31.288567774Z"}]},"request_id":"0ddb05b6-bd78-40c9-a5fc-5150c649a0b2","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445733.5856829} 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":"f38c68b0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f38cb6d0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F211d3777-2861-42f9-ae1b-cee28efe4e42#owner@http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F211d3777-2861-42f9-ae1b-cee28efe4e42","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"7500a472-c737-4030-bcd0-ade1f3a4e9f0","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445733.5956588} 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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5c9c44a4-7380-40f3-b912-79f4587115a0","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445733.596092} device-1 | {"level":"info","message":"POST /devices/03371e94-688a-4abb-a6f4-8c60d7eb42af/signaling 200 29ms","method":"POST","requestID":"f38d2c00-3d2e-11ef-b932-e1799b48160b","responseTime":29,"status":200,"url":"/devices/03371e94-688a-4abb-a6f4-8c60d7eb42af/signaling"} 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":"55de29c5bf5cd8b69dad8efcae6f7396"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":25}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/03371e94-688a-4abb-a6f4-8c60d7eb42af? 200 37ms","method":"GET","requestID":"f38c68b0-3d2e-11ef-b932-e1799b48160b","responseTime":37,"status":200,"url":"/devices/03371e94-688a-4abb-a6f4-8c60d7eb42af?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2? 200 38ms","method":"GET","requestID":"f38cb6d0-3d2e-11ef-b932-e1799b48160b","responseTime":38,"status":200,"url":"/devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2?"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:33Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"30722110-3961-4acd-9ae0-ae18e531698a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445733.6074069} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.24731,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","object_type":"device","rebac_allow":false,"scope_allow":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":"f3920e00-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/211d3777-2861-42f9-ae1b-cee28efe4e42","user":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/Jul/2024:13:35:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.176","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"55de29c5bf5cd8b69dad8efcae6f7396"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:33Z"} experiment-1 | {"level":"info","message":"POST /experiments? 201 169ms","method":"POST","requestID":"55de29c5bf5cd8b69dad8efcae6f7396","responseTime":169,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2/signaling 200 14ms","method":"POST","requestID":"f3920e00-3d2e-11ef-b932-e1799b48160b","responseTime":14,"status":200,"url":"/devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2/signaling"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03371e94-688a-4abb-a6f4-8c60d7eb42af","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8aa2ec1d-c2ac-4463-a1b1-25cbca4a639a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445733.6162672} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.869281,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/03371e94-688a-4abb-a6f4-8c60d7eb42af","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/03371e94-688a-4abb-a6f4-8c60d7eb42af","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczM30.SJBGeripBP-2uhZE5ePJqSxnXjml-cTUqmitGbc20Os","level":"info","message":"auth send jwt"} 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":"f3931f70-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4e52b4ab29fd7f563228553c58291bfc","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/03371e94-688a-4abb-a6f4-8c60d7eb42af/signaling 200 17ms","method":"POST","requestID":"f3931f70-3d2e-11ef-b932-e1799b48160b","responseTime":17,"status":200,"url":"/devices/03371e94-688a-4abb-a6f4-8c60d7eb42af/signaling"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:33Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.117072,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/03371e94-688a-4abb-a6f4-8c60d7eb42af","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/03371e94-688a-4abb-a6f4-8c60d7eb42af","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445733,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczM30.SJBGeripBP-2uhZE5ePJqSxnXjml-cTUqmitGbc20Os"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4e52b4ab29fd7f563228553c58291bfc"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03371e94-688a-4abb-a6f4-8c60d7eb42af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03371e94-688a-4abb-a6f4-8c60d7eb42af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:31.237306847Z"}]},"request_id":"59eaefda-6c6a-4fd7-a15b-106391a6bac0","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445733.631865} 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":"4e52b4ab29fd7f563228553c58291bfc"},"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:58630","level":"info","msg":"Received request.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:33Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a6e47897-39df-4256-a19a-2bd01b898788","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445733.6355193} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.242365,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/03371e94-688a-4abb-a6f4-8c60d7eb42af? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4e52b4ab29fd7f563228553c58291bfc"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3967ad0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"GET /devices/03371e94-688a-4abb-a6f4-8c60d7eb42af? 200 17ms","method":"GET","requestID":"4e52b4ab29fd7f563228553c58291bfc","responseTime":17,"status":200,"url":"/devices/03371e94-688a-4abb-a6f4-8c60d7eb42af?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2/signaling 200 11ms","method":"POST","requestID":"f3967ad0-3d2e-11ef-b932-e1799b48160b","responseTime":11,"status":200,"url":"/devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/211d3777-2861-42f9-ae1b-cee28efe4e42"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/211d3777-2861-42f9-ae1b-cee28efe4e42"},"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":"e4648263-2edb-4776-9bb8-d6ad9098acc8"},{"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":"4b206c30-c839-4e6f-8cda-79dbdf74e310"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"fb94cd65-74be-4fdf-ab3e-ff0b52dc07fd"}]},"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/03371e94-688a-4abb-a6f4-8c60d7eb42af"},{"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/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczM30.SJBGeripBP-2uhZE5ePJqSxnXjml-cTUqmitGbc20Os","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ddfb5ccb748c5ef24ced116655c31231","responseTime":5,"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:58630","level":"info","msg":"Received request.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:33Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.898701,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:33Z"} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Received request.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445733,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczM30.SJBGeripBP-2uhZE5ePJqSxnXjml-cTUqmitGbc20Os"} 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":"f398ebd0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Sent response.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.480015,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445733,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczM30.SJBGeripBP-2uhZE5ePJqSxnXjml-cTUqmitGbc20Os"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ddfb5ccb748c5ef24ced116655c31231"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:31.288567774Z"}]},"request_id":"a2a2f85b-a14a-4a54-8b84-00a0c3005675","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445733.6569507} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ddfb5ccb748c5ef24ced116655c31231"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2? 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":"ddfb5ccb748c5ef24ced116655c31231"} device-1 | {"level":"info","message":"GET /devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2? 200 14ms","method":"GET","requestID":"ddfb5ccb748c5ef24ced116655c31231","responseTime":14,"status":200,"url":"/devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2?"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","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%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"f25b713b-1a4d-41db-83e3-8186e28a9e90","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445733.662569} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"955ae5c8-bf66-4f03-a8f0-b840c682de68","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445733.6630585} 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":"f398ebd0-3d2e-11ef-b932-e1799b48160b"},"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/dd9989d1-5d1c-456f-a71c-497b69f6caac'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/dd9989d1-5d1c-456f-a71c-497b69f6caac'"} 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":"f398ebd0-3d2e-11ef-b932-e1799b48160b","responseTime":34,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/211d3777-2861-42f9-ae1b-cee28efe4e42"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:33Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03371e94-688a-4abb-a6f4-8c60d7eb42af","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2d548f95-f11a-4517-bf57-66c00da300e0","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445733.7100213} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.345251,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/03371e94-688a-4abb-a6f4-8c60d7eb42af","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/03371e94-688a-4abb-a6f4-8c60d7eb42af","object_type":"device","rebac_allow":false,"scope_allow":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":"f3a23aa0-3d2e-11ef-b932-e1799b48160b"},"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/03371e94-688a-4abb-a6f4-8c60d7eb42af/signaling 200 8ms","method":"POST","requestID":"f3a23aa0-3d2e-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/devices/03371e94-688a-4abb-a6f4-8c60d7eb42af/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:33Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f10814f4-4550-44b4-8a90-92a65f3a8fae","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445733.720964} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.838088,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3a3c140-3d2e-11ef-b932-e1799b48160b"},"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/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2/signaling 200 10ms","method":"POST","requestID":"f3a3c140-3d2e-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2/signaling"} device-1 | {"data":{"peerconnection":"dd9989d1-5d1c-456f-a71c-497b69f6caac","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/dd9989d1-5d1c-456f-a71c-497b69f6caac' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"dd9989d1-5d1c-456f-a71c-497b69f6caac","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3b7e30df855560d5b3fa70f036b7a49f","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/03371e94-688a-4abb-a6f4-8c60d7eb42af"},{"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/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/dd9989d1-5d1c-456f-a71c-497b69f6caac"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"3b7e30df855560d5b3fa70f036b7a49f","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"3b7e30df855560d5b3fa70f036b7a49f"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2'"} device-1 | {"data":{"peerconnection":"dd9989d1-5d1c-456f-a71c-497b69f6caac","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"dd9989d1-5d1c-456f-a71c-497b69f6caac","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/dd9989d1-5d1c-456f-a71c-497b69f6caac' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"dd9989d1-5d1c-456f-a71c-497b69f6caac","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"17079595df96a82c51ae345c409992a5","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/03371e94-688a-4abb-a6f4-8c60d7eb42af"},{"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/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/dd9989d1-5d1c-456f-a71c-497b69f6caac"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:35Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdd9989d1-5d1c-456f-a71c-497b69f6caac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"752f5069-ba62-4ba2-9f54-aa1d98ef48ea","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445735.8262675} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.072391,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/dd9989d1-5d1c-456f-a71c-497b69f6caac","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/dd9989d1-5d1c-456f-a71c-497b69f6caac","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":"f4e4ccc0-3d2e-11ef-b932-e1799b48160b"},"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/dd9989d1-5d1c-456f-a71c-497b69f6caac 200 11ms","method":"GET","requestID":"f4e4ccc0-3d2e-11ef-b932-e1799b48160b","responseTime":11,"status":200,"url":"/peerconnections/dd9989d1-5d1c-456f-a71c-497b69f6caac"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 31ms","method":"POST","requestID":"17079595df96a82c51ae345c409992a5","responseTime":31,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.035","http_referrer":"","http_user_agent":"node-fetch","requestID":"17079595df96a82c51ae345c409992a5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:35Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03371e94-688a-4abb-a6f4-8c60d7eb42af","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"58d80dce-99f7-4baf-9e84-99b44a251349","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445735.8538888} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.755552,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/03371e94-688a-4abb-a6f4-8c60d7eb42af","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/03371e94-688a-4abb-a6f4-8c60d7eb42af","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f4e91280-3d2e-11ef-b932-e1799b48160b"},"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/03371e94-688a-4abb-a6f4-8c60d7eb42af/signaling 200 11ms","method":"POST","requestID":"f4e91280-3d2e-11ef-b932-e1799b48160b","responseTime":11,"status":200,"url":"/devices/03371e94-688a-4abb-a6f4-8c60d7eb42af/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:35Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b06badda-0652-497e-80c6-169ad20ada8e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445735.8683312} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.470195,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f4eb3560-3d2e-11ef-b932-e1799b48160b"},"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/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2/signaling 200 10ms","method":"POST","requestID":"f4eb3560-3d2e-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczNX0.DAlHDVQ4hESi9PTuA4xYBTUBug0Jsbem7iX-2dVLjKs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8bdabb46920701f5f8db27c094b033fe","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/211d3777-2861-42f9-ae1b-cee28efe4e42"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:35Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.248049,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/211d3777-2861-42f9-ae1b-cee28efe4e42","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/211d3777-2861-42f9-ae1b-cee28efe4e42","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445735,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczNX0.DAlHDVQ4hESi9PTuA4xYBTUBug0Jsbem7iX-2dVLjKs"} 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":"8bdabb46920701f5f8db27c094b033fe"},"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/211d3777-2861-42f9-ae1b-cee28efe4e42"} gateway-1 | {"time_local":"08/Jul/2024:13:35:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/211d3777-2861-42f9-ae1b-cee28efe4e42 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8bdabb46920701f5f8db27c094b033fe"} experiment-1 | {"level":"info","message":"GET /experiments/211d3777-2861-42f9-ae1b-cee28efe4e42 200 16ms","method":"GET","requestID":"8bdabb46920701f5f8db27c094b033fe","responseTime":16,"status":200,"url":"/experiments/211d3777-2861-42f9-ae1b-cee28efe4e42"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczNX0.DAlHDVQ4hESi9PTuA4xYBTUBug0Jsbem7iX-2dVLjKs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"33fb225cd9c60bcebdde51d4af7c3b0f","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/211d3777-2861-42f9-ae1b-cee28efe4e42"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:35Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.131213,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:35Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/211d3777-2861-42f9-ae1b-cee28efe4e42","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/211d3777-2861-42f9-ae1b-cee28efe4e42","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445735,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczNX0.DAlHDVQ4hESi9PTuA4xYBTUBug0Jsbem7iX-2dVLjKs"} 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":"33fb225cd9c60bcebdde51d4af7c3b0f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/211d3777-2861-42f9-ae1b-cee28efe4e42"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:35Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":2.39616,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:35Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/dd9989d1-5d1c-456f-a71c-497b69f6caac","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:http://localhost/peerconnections/dd9989d1-5d1c-456f-a71c-497b69f6caac","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445735,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczNX0.DAlHDVQ4hESi9PTuA4xYBTUBug0Jsbem7iX-2dVLjKs"} 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":"f4fa0270-3d2e-11ef-b932-e1799b48160b"},"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/dd9989d1-5d1c-456f-a71c-497b69f6caac' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/dd9989d1-5d1c-456f-a71c-497b69f6caac' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"dd9989d1-5d1c-456f-a71c-497b69f6caac","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdd9989d1-5d1c-456f-a71c-497b69f6caac': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdd9989d1-5d1c-456f-a71c-497b69f6caac","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"662c83a2-df72-404e-87e7-b20c32746245","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445735.990152} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3aa79d34cead48bdf5f715ad83de05f0","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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d5e21c3b-1c70-472d-a5e9-53ec62f22cda","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445735.9906552} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/03371e94-688a-4abb-a6f4-8c60d7eb42af"},{"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/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/dd9989d1-5d1c-456f-a71c-497b69f6caac"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f418a5c775943f34a06de9e8a6a9c97e","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f4fa0270-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/03371e94-688a-4abb-a6f4-8c60d7eb42af"},{"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/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/dd9989d1-5d1c-456f-a71c-497b69f6caac"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"dd9989d1-5d1c-456f-a71c-497b69f6caac","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/dd9989d1-5d1c-456f-a71c-497b69f6caac 204 58ms","method":"DELETE","requestID":"f4fa0270-3d2e-11ef-b932-e1799b48160b","responseTime":58,"status":204,"url":"/peerconnections/dd9989d1-5d1c-456f-a71c-497b69f6caac"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/211d3777-2861-42f9-ae1b-cee28efe4e42"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:36Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03371e94-688a-4abb-a6f4-8c60d7eb42af","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ac00121c-f7ef-4210-a6af-ec86eb4f6179","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445736.048027} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.974814,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/03371e94-688a-4abb-a6f4-8c60d7eb42af","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/03371e94-688a-4abb-a6f4-8c60d7eb42af","object_type":"device","rebac_allow":false,"scope_allow":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":"f5068590-3d2e-11ef-b932-e1799b48160b"},"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/03371e94-688a-4abb-a6f4-8c60d7eb42af/signaling 200 14ms","method":"POST","requestID":"f5068590-3d2e-11ef-b932-e1799b48160b","responseTime":14,"status":200,"url":"/devices/03371e94-688a-4abb-a6f4-8c60d7eb42af/signaling"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F211d3777-2861-42f9-ae1b-cee28efe4e42': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F211d3777-2861-42f9-ae1b-cee28efe4e42","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"253e3308-791f-4268-a386-fde5a6484e48","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445736.0551014} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"279c3afd-8dff-4240-bc73-278aaa398323","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445736.0557415} 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":"33fb225cd9c60bcebdde51d4af7c3b0f"},"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:58630","level":"info","msg":"Received request.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:36Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"086244d7-094e-4efa-a28a-8cbba5ad8603","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445736.0664735} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.971714,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2","object_type":"device","rebac_allow":false,"scope_allow":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":"f50944b0-3d2e-11ef-b932-e1799b48160b"},"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/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2/signaling 200 14ms","method":"POST","requestID":"f50944b0-3d2e-11ef-b932-e1799b48160b","responseTime":14,"status":200,"url":"/devices/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/211d3777-2861-42f9-ae1b-cee28efe4e42"} gateway-1 | {"time_local":"08/Jul/2024:13:35:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/211d3777-2861-42f9-ae1b-cee28efe4e42 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.193","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"33fb225cd9c60bcebdde51d4af7c3b0f"} gateway-1 | {"time_local":"08/Jul/2024:13:35:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3231","request_time":"4.293","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"817e3b3b375ac3320318979540cd87fe"} experiment-1 | {"level":"info","message":"DELETE /experiments/211d3777-2861-42f9-ae1b-cee28efe4e42 204 188ms","method":"DELETE","requestID":"33fb225cd9c60bcebdde51d4af7c3b0f","responseTime":188,"status":204,"url":"/experiments/211d3777-2861-42f9-ae1b-cee28efe4e42"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 139ms","method":"POST","requestID":"3aa79d34cead48bdf5f715ad83de05f0","responseTime":139,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.145","http_referrer":"","http_user_agent":"node-fetch","requestID":"3aa79d34cead48bdf5f715ad83de05f0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 139ms","method":"POST","requestID":"f418a5c775943f34a06de9e8a6a9c97e","responseTime":139,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.147","http_referrer":"","http_user_agent":"node-fetch","requestID":"f418a5c775943f34a06de9e8a6a9c97e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczNn0.blWUWZXm448MW1YNwj731REECmGoe55z3DrZMGTlA2g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b099013896ca1326581f65ca98a12ddf","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:36Z"} gateway-1 | {"time_local":"08/Jul/2024:13:35:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2740","request_time":"2.774","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"15ba814e28d97191517bf310cb68b26c"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.180731,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445736,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczNn0.blWUWZXm448MW1YNwj731REECmGoe55z3DrZMGTlA2g"} 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":"b099013896ca1326581f65ca98a12ddf"},"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/03371e94-688a-4abb-a6f4-8c60d7eb42af' 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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcf7c3635-3fe6-481c-b7af-5400290bc825","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"586a0822-00f0-4d8e-8531-341c40b89dc3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445736.1558006} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b099013896ca1326581f65ca98a12ddf"},"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/e11a4f0f-ce76-48f3-bcad-fb52dfa04ae2' 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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ed172ec8-a1e4-41e2-bf0d-105604cb9cf7","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445736.160441} 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":"b099013896ca1326581f65ca98a12ddf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcf7c3635-3fe6-481c-b7af-5400290bc825","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"25cd72ba-3ce9-4f81-b19a-8ec7dc382da4","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445736.1693826} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d60e38b6-e4d8-4c56-ba17-7274594645c4","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445736.1696382} 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":"b099013896ca1326581f65ca98a12ddf"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcf7c3635-3fe6-481c-b7af-5400290bc825","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcf7c3635-3fe6-481c-b7af-5400290bc825","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:36.169359321Z"}]},"request_id":"96fc6112-daec-49f1-b163-d9ac1db051ec","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445736.1738596} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b099013896ca1326581f65ca98a12ddf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b099013896ca1326581f65ca98a12ddf"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"b099013896ca1326581f65ca98a12ddf","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczNn0.blWUWZXm448MW1YNwj731REECmGoe55z3DrZMGTlA2g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"eb625947733341733f98d5e48559460b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:36Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.84421,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445736,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczNn0.blWUWZXm448MW1YNwj731REECmGoe55z3DrZMGTlA2g"} 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":"eb625947733341733f98d5e48559460b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90abe5cb-26cd-456b-bb73-b50bde73e65a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"df08fffc-d9ba-4870-90f1-24a2e5f5176e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445736.2035658} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eb625947733341733f98d5e48559460b"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1bb49f9c-8ce2-4b5f-8e65-15e7636d3a77","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445736.2079377} 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":"eb625947733341733f98d5e48559460b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90abe5cb-26cd-456b-bb73-b50bde73e65a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"63aa7fdb-27c5-4c31-8624-e8d875acbb56","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445736.2191367} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b79af192-37ba-42c4-a6a1-1d74199f3776","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445736.2197268} 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":"eb625947733341733f98d5e48559460b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90abe5cb-26cd-456b-bb73-b50bde73e65a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90abe5cb-26cd-456b-bb73-b50bde73e65a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:36.219094827Z"}]},"request_id":"260c0a9b-c98b-4679-81fd-93d4a461cc2c","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445736.2238178} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eb625947733341733f98d5e48559460b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eb625947733341733f98d5e48559460b"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"eb625947733341733f98d5e48559460b","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczNn0.blWUWZXm448MW1YNwj731REECmGoe55z3DrZMGTlA2g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7ef9ef00714aa3908b5494b43bceebd1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:36Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.331682,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/cf7c3635-3fe6-481c-b7af-5400290bc825","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/cf7c3635-3fe6-481c-b7af-5400290bc825","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445736,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczNn0.blWUWZXm448MW1YNwj731REECmGoe55z3DrZMGTlA2g"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ef9ef00714aa3908b5494b43bceebd1"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcf7c3635-3fe6-481c-b7af-5400290bc825","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcf7c3635-3fe6-481c-b7af-5400290bc825","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:36.169359321Z"}]},"request_id":"b08871a5-2c2c-4d4b-b238-875511ea127c","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445736.7143624} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ef9ef00714aa3908b5494b43bceebd1"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"09badcb8-db93-4ab6-999e-8cc5d5279250","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445736.7205276} 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":"7ef9ef00714aa3908b5494b43bceebd1"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcf7c3635-3fe6-481c-b7af-5400290bc825","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcf7c3635-3fe6-481c-b7af-5400290bc825","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:36.169359321Z"}]},"request_id":"994ab431-23e0-43a1-97eb-ae48d3f1b318","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445736.7331116} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ef9ef00714aa3908b5494b43bceebd1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/cf7c3635-3fe6-481c-b7af-5400290bc825 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"7ef9ef00714aa3908b5494b43bceebd1"} device-1 | {"level":"info","message":"PATCH /devices/cf7c3635-3fe6-481c-b7af-5400290bc825 200 36ms","method":"PATCH","requestID":"7ef9ef00714aa3908b5494b43bceebd1","responseTime":36,"status":200,"url":"/devices/cf7c3635-3fe6-481c-b7af-5400290bc825"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczNn0.blWUWZXm448MW1YNwj731REECmGoe55z3DrZMGTlA2g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d18489f0a6dc094a9a651ea18a12758a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:36Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.03266,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/cf7c3635-3fe6-481c-b7af-5400290bc825","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/cf7c3635-3fe6-481c-b7af-5400290bc825","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445736,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczNn0.blWUWZXm448MW1YNwj731REECmGoe55z3DrZMGTlA2g"} 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":"d18489f0a6dc094a9a651ea18a12758a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/cf7c3635-3fe6-481c-b7af-5400290bc825/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.025","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"d18489f0a6dc094a9a651ea18a12758a"} device-1 | {"level":"info","message":"POST /devices/cf7c3635-3fe6-481c-b7af-5400290bc825/websocket 200 19ms","method":"POST","requestID":"d18489f0a6dc094a9a651ea18a12758a","responseTime":19,"status":200,"url":"/devices/cf7c3635-3fe6-481c-b7af-5400290bc825/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/cf7c3635-3fe6-481c-b7af-5400290bc825' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ac7bc38cbc4b673f4c60cfca95b6694e","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:35:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/90abe5cb-26cd-456b-bb73-b50bde73e65a/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":"ac7bc38cbc4b673f4c60cfca95b6694e"} device-1 | {"level":"info","message":"OPTIONS /devices/90abe5cb-26cd-456b-bb73-b50bde73e65a/websocket 200 1ms","method":"OPTIONS","requestID":"ac7bc38cbc4b673f4c60cfca95b6694e","responseTime":1,"status":200,"url":"/devices/90abe5cb-26cd-456b-bb73-b50bde73e65a/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczOH0.6D3uurk6E-h0ZEwyvAlaNY2qVBWP05fWei1QV1b1duE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ba0a9604395a543d565409466b640929","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:38Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.105104,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/90abe5cb-26cd-456b-bb73-b50bde73e65a","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/90abe5cb-26cd-456b-bb73-b50bde73e65a","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445738,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczOH0.6D3uurk6E-h0ZEwyvAlaNY2qVBWP05fWei1QV1b1duE"} 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":"ba0a9604395a543d565409466b640929"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/90abe5cb-26cd-456b-bb73-b50bde73e65a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.030","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ba0a9604395a543d565409466b640929"} device-1 | {"level":"info","message":"POST /devices/90abe5cb-26cd-456b-bb73-b50bde73e65a/websocket 200 23ms","method":"POST","requestID":"ba0a9604395a543d565409466b640929","responseTime":23,"status":200,"url":"/devices/90abe5cb-26cd-456b-bb73-b50bde73e65a/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/90abe5cb-26cd-456b-bb73-b50bde73e65a' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczOH0.6D3uurk6E-h0ZEwyvAlaNY2qVBWP05fWei1QV1b1duE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e28234ea43ae49fce8481e362dc54863","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:38Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.189152,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cf7c3635-3fe6-481c-b7af-5400290bc825","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/cf7c3635-3fe6-481c-b7af-5400290bc825","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445738,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczOH0.6D3uurk6E-h0ZEwyvAlaNY2qVBWP05fWei1QV1b1duE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e28234ea43ae49fce8481e362dc54863"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcf7c3635-3fe6-481c-b7af-5400290bc825","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcf7c3635-3fe6-481c-b7af-5400290bc825","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:36.169359321Z"}]},"request_id":"d2716e06-f72b-467c-8dc7-8fa0900980b6","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445738.2935882} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e28234ea43ae49fce8481e362dc54863"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cf7c3635-3fe6-481c-b7af-5400290bc825? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e28234ea43ae49fce8481e362dc54863"} device-1 | {"level":"info","message":"GET /devices/cf7c3635-3fe6-481c-b7af-5400290bc825? 200 21ms","method":"GET","requestID":"e28234ea43ae49fce8481e362dc54863","responseTime":21,"status":200,"url":"/devices/cf7c3635-3fe6-481c-b7af-5400290bc825?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczOH0.6D3uurk6E-h0ZEwyvAlaNY2qVBWP05fWei1QV1b1duE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a52b51d965042e84a0a9837b6a19395e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:38Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.185906,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/90abe5cb-26cd-456b-bb73-b50bde73e65a","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/90abe5cb-26cd-456b-bb73-b50bde73e65a","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445738,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczOH0.6D3uurk6E-h0ZEwyvAlaNY2qVBWP05fWei1QV1b1duE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a52b51d965042e84a0a9837b6a19395e"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90abe5cb-26cd-456b-bb73-b50bde73e65a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90abe5cb-26cd-456b-bb73-b50bde73e65a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:36.219094827Z"}]},"request_id":"800e8bbe-f6a1-4ff8-8ca0-b2a214e4035f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445738.3219728} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a52b51d965042e84a0a9837b6a19395e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/90abe5cb-26cd-456b-bb73-b50bde73e65a? 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":"a52b51d965042e84a0a9837b6a19395e"} device-1 | {"level":"info","message":"GET /devices/90abe5cb-26cd-456b-bb73-b50bde73e65a? 200 17ms","method":"GET","requestID":"a52b51d965042e84a0a9837b6a19395e","responseTime":17,"status":200,"url":"/devices/90abe5cb-26cd-456b-bb73-b50bde73e65a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczOH0.6D3uurk6E-h0ZEwyvAlaNY2qVBWP05fWei1QV1b1duE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b3c7cfc772a134ec41ed83d00d530035","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:58630","level":"info","msg":"Received request.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:38Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.167469,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445738,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczOH0.6D3uurk6E-h0ZEwyvAlaNY2qVBWP05fWei1QV1b1duE"} 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":"b3c7cfc772a134ec41ed83d00d530035"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2f766e89-6368-4d6f-8f2b-1cab6011c464"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2f766e89-6368-4d6f-8f2b-1cab6011c464"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2f766e89-6368-4d6f-8f2b-1cab6011c464"},"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:58630","level":"info","msg":"Received request.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:38Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.670565,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:38Z"} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Received request.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cf7c3635-3fe6-481c-b7af-5400290bc825","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/cf7c3635-3fe6-481c-b7af-5400290bc825","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445738,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczOH0.6D3uurk6E-h0ZEwyvAlaNY2qVBWP05fWei1QV1b1duE"} 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":"f66b1ea0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Sent response.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.330348,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/90abe5cb-26cd-456b-bb73-b50bde73e65a","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/90abe5cb-26cd-456b-bb73-b50bde73e65a","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445738,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczOH0.6D3uurk6E-h0ZEwyvAlaNY2qVBWP05fWei1QV1b1duE"} 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":"f66b6cc0-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcf7c3635-3fe6-481c-b7af-5400290bc825","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcf7c3635-3fe6-481c-b7af-5400290bc825","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:36.169359321Z"}]},"request_id":"8b1400cb-00e6-4287-8aa4-5fab01a3ff8b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445738.3935473} 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":"f66b1ea0-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90abe5cb-26cd-456b-bb73-b50bde73e65a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90abe5cb-26cd-456b-bb73-b50bde73e65a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:36.219094827Z"}]},"request_id":"a335ccd1-5023-4f5c-948f-8856b01ff2e3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445738.3954003} 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":"f66b6cc0-3d2e-11ef-b932-e1799b48160b"},"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/cf7c3635-3fe6-481c-b7af-5400290bc825? 200 24ms","method":"GET","requestID":"f66b1ea0-3d2e-11ef-b932-e1799b48160b","responseTime":24,"status":200,"url":"/devices/cf7c3635-3fe6-481c-b7af-5400290bc825?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/90abe5cb-26cd-456b-bb73-b50bde73e65a? 200 24ms","method":"GET","requestID":"f66b6cc0-3d2e-11ef-b932-e1799b48160b","responseTime":24,"status":200,"url":"/devices/90abe5cb-26cd-456b-bb73-b50bde73e65a?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2f766e89-6368-4d6f-8f2b-1cab6011c464"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2f766e89-6368-4d6f-8f2b-1cab6011c464"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2f766e89-6368-4d6f-8f2b-1cab6011c464"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2f766e89-6368-4d6f-8f2b-1cab6011c464"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2f766e89-6368-4d6f-8f2b-1cab6011c464"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2f766e89-6368-4d6f-8f2b-1cab6011c464"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2f766e89-6368-4d6f-8f2b-1cab6011c464"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2f766e89-6368-4d6f-8f2b-1cab6011c464"},"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/2f766e89-6368-4d6f-8f2b-1cab6011c464"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:38Z"} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Received request.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:38Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.79088,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:38Z"} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Sent response.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.2829,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cf7c3635-3fe6-481c-b7af-5400290bc825","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/cf7c3635-3fe6-481c-b7af-5400290bc825","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445738,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczOH0.6D3uurk6E-h0ZEwyvAlaNY2qVBWP05fWei1QV1b1duE"} 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":"f675cd00-3d2e-11ef-b932-e1799b48160b"},"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/90abe5cb-26cd-456b-bb73-b50bde73e65a","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/90abe5cb-26cd-456b-bb73-b50bde73e65a","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445738,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczOH0.6D3uurk6E-h0ZEwyvAlaNY2qVBWP05fWei1QV1b1duE"} 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":"f675f410-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:49218","level":"info","msg":"Received request.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:38Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcf7c3635-3fe6-481c-b7af-5400290bc825","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcf7c3635-3fe6-481c-b7af-5400290bc825","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:36.169359321Z"}]},"request_id":"8b29783e-2d68-4d8c-bfc3-add95288549f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445738.463501} 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":"f675cd00-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90abe5cb-26cd-456b-bb73-b50bde73e65a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90abe5cb-26cd-456b-bb73-b50bde73e65a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:36.219094827Z"}]},"request_id":"7e295bf2-56d8-4700-8e1c-94c1eb986540","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445738.466279} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcf7c3635-3fe6-481c-b7af-5400290bc825","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f58471a7-e3d5-4b20-ad41-9ea6cc532b61","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445738.4668353} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f675f410-3d2e-11ef-b932-e1799b48160b"},"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:49218","level":"info","msg":"Sent response.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.118042,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cf7c3635-3fe6-481c-b7af-5400290bc825","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cf7c3635-3fe6-481c-b7af-5400290bc825","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f6766940-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/cf7c3635-3fe6-481c-b7af-5400290bc825? 200 24ms","method":"GET","requestID":"f675cd00-3d2e-11ef-b932-e1799b48160b","responseTime":24,"status":200,"url":"/devices/cf7c3635-3fe6-481c-b7af-5400290bc825?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/90abe5cb-26cd-456b-bb73-b50bde73e65a? 200 23ms","method":"GET","requestID":"f675f410-3d2e-11ef-b932-e1799b48160b","responseTime":23,"status":200,"url":"/devices/90abe5cb-26cd-456b-bb73-b50bde73e65a?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/cf7c3635-3fe6-481c-b7af-5400290bc825/signaling 200 22ms","method":"POST","requestID":"f6766940-3d2e-11ef-b932-e1799b48160b","responseTime":22,"status":200,"url":"/devices/cf7c3635-3fe6-481c-b7af-5400290bc825/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:38Z"} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Received request.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:38Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcf7c3635-3fe6-481c-b7af-5400290bc825","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dfc46a22-3535-49b8-9e43-0f43403ddc46","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445738.4818223} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90abe5cb-26cd-456b-bb73-b50bde73e65a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"075761ce-7249-414a-bf1e-f37d105c9aa9","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445738.4823287} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.690576,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cf7c3635-3fe6-481c-b7af-5400290bc825","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cf7c3635-3fe6-481c-b7af-5400290bc825","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f67a12c0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Sent response.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.30591,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/90abe5cb-26cd-456b-bb73-b50bde73e65a","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/90abe5cb-26cd-456b-bb73-b50bde73e65a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f67a60e0-3d2e-11ef-b932-e1799b48160b"},"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/cf7c3635-3fe6-481c-b7af-5400290bc825/signaling 200 14ms","method":"POST","requestID":"f67a12c0-3d2e-11ef-b932-e1799b48160b","responseTime":14,"status":200,"url":"/devices/cf7c3635-3fe6-481c-b7af-5400290bc825/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/90abe5cb-26cd-456b-bb73-b50bde73e65a/signaling 200 13ms","method":"POST","requestID":"f67a60e0-3d2e-11ef-b932-e1799b48160b","responseTime":13,"status":200,"url":"/devices/90abe5cb-26cd-456b-bb73-b50bde73e65a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:38Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90abe5cb-26cd-456b-bb73-b50bde73e65a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"423d8a6e-36a3-4911-a8aa-97e24fb3dff3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445738.4993646} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.889753,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/90abe5cb-26cd-456b-bb73-b50bde73e65a","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/90abe5cb-26cd-456b-bb73-b50bde73e65a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f67caad0-3d2e-11ef-b932-e1799b48160b"},"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/90abe5cb-26cd-456b-bb73-b50bde73e65a/signaling 200 12ms","method":"POST","requestID":"f67caad0-3d2e-11ef-b932-e1799b48160b","responseTime":12,"status":200,"url":"/devices/90abe5cb-26cd-456b-bb73-b50bde73e65a/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2f766e89-6368-4d6f-8f2b-1cab6011c464"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2f766e89-6368-4d6f-8f2b-1cab6011c464"},"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":"8183d473-4594-4df3-936e-5fae81fef56f"},{"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":"f01c9f02-606e-4d12-9610-144b96536f6c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"354ad1f3-0fc2-46cc-877f-9295f1fcc696"}]},"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/90abe5cb-26cd-456b-bb73-b50bde73e65a"},{"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/cf7c3635-3fe6-481c-b7af-5400290bc825"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2f766e89-6368-4d6f-8f2b-1cab6011c464#owner@http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2f766e89-6368-4d6f-8f2b-1cab6011c464","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"3639e351-7c1d-4471-bdfa-5d81e7627cdb","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445738.510343} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b3b51407-785d-4e98-b588-fb069f739de5","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445738.510488} authorization-1 | {"level":"info","message":"POST /relations/update 200 56ms","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":"b3c7cfc772a134ec41ed83d00d530035"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":56}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:38Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.065052,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445738,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczOH0.6D3uurk6E-h0ZEwyvAlaNY2qVBWP05fWei1QV1b1duE"} 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":"f67f1bd0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/2f766e89-6368-4d6f-8f2b-1cab6011c464","user":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/Jul/2024:13:35:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.193","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b3c7cfc772a134ec41ed83d00d530035"} experiment-1 | {"level":"info","message":"POST /experiments? 201 187ms","method":"POST","requestID":"b3c7cfc772a134ec41ed83d00d530035","responseTime":187,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","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%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"08ef2af7-230d-480b-9c7f-e92571484520","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445738.525884} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"85e2532e-9d5b-4cd0-b171-d0e83d6c9d0e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445738.5261033} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczOH0.6D3uurk6E-h0ZEwyvAlaNY2qVBWP05fWei1QV1b1duE","level":"info","message":"auth send jwt"} 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":"f67f1bd0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4ce3e024ae9dae94f407183674888d43","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:38Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.306371,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cf7c3635-3fe6-481c-b7af-5400290bc825","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/cf7c3635-3fe6-481c-b7af-5400290bc825","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445738,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczOH0.6D3uurk6E-h0ZEwyvAlaNY2qVBWP05fWei1QV1b1duE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ce3e024ae9dae94f407183674888d43"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcf7c3635-3fe6-481c-b7af-5400290bc825","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcf7c3635-3fe6-481c-b7af-5400290bc825","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:36.169359321Z"}]},"request_id":"051a1fe2-cbf7-471b-b276-25f7d5dec804","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445738.5404084} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ce3e024ae9dae94f407183674888d43"},"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/ed87f7f0-fac2-4409-9de3-2154f99f6bba'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/ed87f7f0-fac2-4409-9de3-2154f99f6bba'"} 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":"f67f1bd0-3d2e-11ef-b932-e1799b48160b","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":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cf7c3635-3fe6-481c-b7af-5400290bc825? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4ce3e024ae9dae94f407183674888d43"} device-1 | {"level":"info","message":"GET /devices/cf7c3635-3fe6-481c-b7af-5400290bc825? 200 21ms","method":"GET","requestID":"4ce3e024ae9dae94f407183674888d43","responseTime":21,"status":200,"url":"/devices/cf7c3635-3fe6-481c-b7af-5400290bc825?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczOH0.6D3uurk6E-h0ZEwyvAlaNY2qVBWP05fWei1QV1b1duE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"77a7f0aa4d1a2ed4e0eca9c1ea86be24","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:38Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.524007,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/90abe5cb-26cd-456b-bb73-b50bde73e65a","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/90abe5cb-26cd-456b-bb73-b50bde73e65a","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445738,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTczOH0.6D3uurk6E-h0ZEwyvAlaNY2qVBWP05fWei1QV1b1duE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"77a7f0aa4d1a2ed4e0eca9c1ea86be24"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90abe5cb-26cd-456b-bb73-b50bde73e65a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90abe5cb-26cd-456b-bb73-b50bde73e65a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:36.219094827Z"}]},"request_id":"0c3c64ad-25d0-4039-b955-85dad011a1fd","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445738.5697646} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"77a7f0aa4d1a2ed4e0eca9c1ea86be24"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/90abe5cb-26cd-456b-bb73-b50bde73e65a? 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":"77a7f0aa4d1a2ed4e0eca9c1ea86be24"} device-1 | {"level":"info","message":"GET /devices/90abe5cb-26cd-456b-bb73-b50bde73e65a? 200 15ms","method":"GET","requestID":"77a7f0aa4d1a2ed4e0eca9c1ea86be24","responseTime":15,"status":200,"url":"/devices/90abe5cb-26cd-456b-bb73-b50bde73e65a?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2f766e89-6368-4d6f-8f2b-1cab6011c464"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:38Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcf7c3635-3fe6-481c-b7af-5400290bc825","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a5639ce6-eb64-4369-a262-47d7c89d77b9","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445738.5875366} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.775866,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cf7c3635-3fe6-481c-b7af-5400290bc825","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cf7c3635-3fe6-481c-b7af-5400290bc825","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f68a3f60-3d2e-11ef-b932-e1799b48160b"},"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/cf7c3635-3fe6-481c-b7af-5400290bc825/signaling 200 9ms","method":"POST","requestID":"f68a3f60-3d2e-11ef-b932-e1799b48160b","responseTime":9,"status":200,"url":"/devices/cf7c3635-3fe6-481c-b7af-5400290bc825/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:38Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90abe5cb-26cd-456b-bb73-b50bde73e65a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7507af92-3120-41e8-9934-b1c6ed23616a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445738.5985062} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.608187,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/90abe5cb-26cd-456b-bb73-b50bde73e65a","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/90abe5cb-26cd-456b-bb73-b50bde73e65a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f68bed10-3d2e-11ef-b932-e1799b48160b"},"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/90abe5cb-26cd-456b-bb73-b50bde73e65a/signaling 200 10ms","method":"POST","requestID":"f68bed10-3d2e-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/90abe5cb-26cd-456b-bb73-b50bde73e65a/signaling"} device-1 | {"data":{"peerconnection":"ed87f7f0-fac2-4409-9de3-2154f99f6bba","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/ed87f7f0-fac2-4409-9de3-2154f99f6bba' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ed87f7f0-fac2-4409-9de3-2154f99f6bba","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9fb36e04e5fb71192e7c645715d78311","responseTime":1,"status":200,"url":"/auth"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/90abe5cb-26cd-456b-bb73-b50bde73e65a'"} 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/90abe5cb-26cd-456b-bb73-b50bde73e65a"},{"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/cf7c3635-3fe6-481c-b7af-5400290bc825"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/ed87f7f0-fac2-4409-9de3-2154f99f6bba"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"9fb36e04e5fb71192e7c645715d78311","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"9fb36e04e5fb71192e7c645715d78311"} device-1 | {"data":{"peerconnection":"ed87f7f0-fac2-4409-9de3-2154f99f6bba","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"ed87f7f0-fac2-4409-9de3-2154f99f6bba","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/ed87f7f0-fac2-4409-9de3-2154f99f6bba' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ed87f7f0-fac2-4409-9de3-2154f99f6bba","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"a07fc154a15a45b79343fe03d31ff885","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/90abe5cb-26cd-456b-bb73-b50bde73e65a"},{"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/cf7c3635-3fe6-481c-b7af-5400290bc825"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/ed87f7f0-fac2-4409-9de3-2154f99f6bba"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:40Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fed87f7f0-fac2-4409-9de3-2154f99f6bba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c4dde00b-91ac-4bf2-bbba-453392ca4e03","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445740.6807551} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.643241,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ed87f7f0-fac2-4409-9de3-2154f99f6bba","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/ed87f7f0-fac2-4409-9de3-2154f99f6bba","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":"f7c9c440-3d2e-11ef-b932-e1799b48160b"},"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/ed87f7f0-fac2-4409-9de3-2154f99f6bba 200 8ms","method":"GET","requestID":"f7c9c440-3d2e-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/peerconnections/ed87f7f0-fac2-4409-9de3-2154f99f6bba"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 42ms","method":"POST","requestID":"a07fc154a15a45b79343fe03d31ff885","responseTime":42,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.045","http_referrer":"","http_user_agent":"node-fetch","requestID":"a07fc154a15a45b79343fe03d31ff885"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:40Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90abe5cb-26cd-456b-bb73-b50bde73e65a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9b38d36d-1019-4aab-b8ee-78f8041cfda1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445740.7195978} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.559248,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/90abe5cb-26cd-456b-bb73-b50bde73e65a","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/90abe5cb-26cd-456b-bb73-b50bde73e65a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f7cf6990-3d2e-11ef-b932-e1799b48160b"},"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/90abe5cb-26cd-456b-bb73-b50bde73e65a/signaling 200 12ms","method":"POST","requestID":"f7cf6990-3d2e-11ef-b932-e1799b48160b","responseTime":12,"status":200,"url":"/devices/90abe5cb-26cd-456b-bb73-b50bde73e65a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:40Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcf7c3635-3fe6-481c-b7af-5400290bc825","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2e63b272-a001-452f-ae31-d3505db07522","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445740.7357147} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.665935,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cf7c3635-3fe6-481c-b7af-5400290bc825","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cf7c3635-3fe6-481c-b7af-5400290bc825","object_type":"device","rebac_allow":false,"scope_allow":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":"f7d1b380-3d2e-11ef-b932-e1799b48160b"},"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/cf7c3635-3fe6-481c-b7af-5400290bc825/signaling 200 14ms","method":"POST","requestID":"f7d1b380-3d2e-11ef-b932-e1799b48160b","responseTime":14,"status":200,"url":"/devices/cf7c3635-3fe6-481c-b7af-5400290bc825/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0MH0._0pomWtXUsEU55x22kyNAcp-tD5N820Yb3l8fZYFcHQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"494e9d37a5a55738e3e088016c1c1846","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2f766e89-6368-4d6f-8f2b-1cab6011c464"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:40Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.285455,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2f766e89-6368-4d6f-8f2b-1cab6011c464","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/2f766e89-6368-4d6f-8f2b-1cab6011c464","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445740,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0MH0._0pomWtXUsEU55x22kyNAcp-tD5N820Yb3l8fZYFcHQ"} 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":"494e9d37a5a55738e3e088016c1c1846"},"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/2f766e89-6368-4d6f-8f2b-1cab6011c464"} gateway-1 | {"time_local":"08/Jul/2024:13:35:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2f766e89-6368-4d6f-8f2b-1cab6011c464 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"494e9d37a5a55738e3e088016c1c1846"} experiment-1 | {"level":"info","message":"GET /experiments/2f766e89-6368-4d6f-8f2b-1cab6011c464 200 15ms","method":"GET","requestID":"494e9d37a5a55738e3e088016c1c1846","responseTime":15,"status":200,"url":"/experiments/2f766e89-6368-4d6f-8f2b-1cab6011c464"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0MH0._0pomWtXUsEU55x22kyNAcp-tD5N820Yb3l8fZYFcHQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c759a3652081301bfe422fabb3ffd112","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/2f766e89-6368-4d6f-8f2b-1cab6011c464"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:40Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.10919,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:40Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2f766e89-6368-4d6f-8f2b-1cab6011c464","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/2f766e89-6368-4d6f-8f2b-1cab6011c464","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445740,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0MH0._0pomWtXUsEU55x22kyNAcp-tD5N820Yb3l8fZYFcHQ"} 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":"c759a3652081301bfe422fabb3ffd112"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2f766e89-6368-4d6f-8f2b-1cab6011c464"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:40Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.381225,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:40Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ed87f7f0-fac2-4409-9de3-2154f99f6bba","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:http://localhost/peerconnections/ed87f7f0-fac2-4409-9de3-2154f99f6bba","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445740,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0MH0._0pomWtXUsEU55x22kyNAcp-tD5N820Yb3l8fZYFcHQ"} 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":"f7dcfe20-3d2e-11ef-b932-e1799b48160b"},"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/ed87f7f0-fac2-4409-9de3-2154f99f6bba' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/ed87f7f0-fac2-4409-9de3-2154f99f6bba' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ed87f7f0-fac2-4409-9de3-2154f99f6bba","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fed87f7f0-fac2-4409-9de3-2154f99f6bba': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fed87f7f0-fac2-4409-9de3-2154f99f6bba","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"5c4b94f3-9467-48f5-87fd-3ec36845d6c0","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445740.8335216} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f3c30d0e-ff0f-4e50-968f-fdfc09269669","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445740.8339362} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9f6c79145bd51da74e36ffc84825c76e","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c61bab27a9970bf40130cc962792a9db","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/90abe5cb-26cd-456b-bb73-b50bde73e65a"},{"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/cf7c3635-3fe6-481c-b7af-5400290bc825"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ed87f7f0-fac2-4409-9de3-2154f99f6bba"}}},"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":"f7dcfe20-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/90abe5cb-26cd-456b-bb73-b50bde73e65a"},{"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/cf7c3635-3fe6-481c-b7af-5400290bc825"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ed87f7f0-fac2-4409-9de3-2154f99f6bba"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"ed87f7f0-fac2-4409-9de3-2154f99f6bba","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/ed87f7f0-fac2-4409-9de3-2154f99f6bba 204 54ms","method":"DELETE","requestID":"f7dcfe20-3d2e-11ef-b932-e1799b48160b","responseTime":54,"status":204,"url":"/peerconnections/ed87f7f0-fac2-4409-9de3-2154f99f6bba"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2f766e89-6368-4d6f-8f2b-1cab6011c464"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:40Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90abe5cb-26cd-456b-bb73-b50bde73e65a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"66545292-876e-4313-9d23-362ede6380fc","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445740.885504} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.7034,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/90abe5cb-26cd-456b-bb73-b50bde73e65a","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/90abe5cb-26cd-456b-bb73-b50bde73e65a","object_type":"device","rebac_allow":false,"scope_allow":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":"f7e896e0-3d2e-11ef-b932-e1799b48160b"},"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/90abe5cb-26cd-456b-bb73-b50bde73e65a/signaling 200 15ms","method":"POST","requestID":"f7e896e0-3d2e-11ef-b932-e1799b48160b","responseTime":15,"status":200,"url":"/devices/90abe5cb-26cd-456b-bb73-b50bde73e65a/signaling"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2f766e89-6368-4d6f-8f2b-1cab6011c464': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2f766e89-6368-4d6f-8f2b-1cab6011c464","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"a9be6645-bd9c-4083-b664-42be14c45fd7","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445740.8929656} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"167069a6-d580-4096-beb8-c3fe3def68b0","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445740.8931637} 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":"c759a3652081301bfe422fabb3ffd112"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:40Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcf7c3635-3fe6-481c-b7af-5400290bc825","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"21139be8-3c2f-4341-b22a-d424daf05b17","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445740.902676} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.013387,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cf7c3635-3fe6-481c-b7af-5400290bc825","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cf7c3635-3fe6-481c-b7af-5400290bc825","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f7eb5600-3d2e-11ef-b932-e1799b48160b"},"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/cf7c3635-3fe6-481c-b7af-5400290bc825/signaling 200 13ms","method":"POST","requestID":"f7eb5600-3d2e-11ef-b932-e1799b48160b","responseTime":13,"status":200,"url":"/devices/cf7c3635-3fe6-481c-b7af-5400290bc825/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/2f766e89-6368-4d6f-8f2b-1cab6011c464"} gateway-1 | {"time_local":"08/Jul/2024:13:35:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/2f766e89-6368-4d6f-8f2b-1cab6011c464 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.169","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c759a3652081301bfe422fabb3ffd112"} gateway-1 | {"time_local":"08/Jul/2024:13:35:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2839","request_time":"4.191","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a26353db0730acf6879f1d2987bb0770"} experiment-1 | {"level":"info","message":"DELETE /experiments/2f766e89-6368-4d6f-8f2b-1cab6011c464 204 165ms","method":"DELETE","requestID":"c759a3652081301bfe422fabb3ffd112","responseTime":165,"status":204,"url":"/experiments/2f766e89-6368-4d6f-8f2b-1cab6011c464"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 121ms","method":"POST","requestID":"9f6c79145bd51da74e36ffc84825c76e","responseTime":121,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.128","http_referrer":"","http_user_agent":"node-fetch","requestID":"9f6c79145bd51da74e36ffc84825c76e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 119ms","method":"POST","requestID":"c61bab27a9970bf40130cc962792a9db","responseTime":119,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.129","http_referrer":"","http_user_agent":"node-fetch","requestID":"c61bab27a9970bf40130cc962792a9db"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0MH0._0pomWtXUsEU55x22kyNAcp-tD5N820Yb3l8fZYFcHQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d619b5148e6b838bb6df81252e5169b9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:13:35:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2745","request_time":"2.708","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f8bcf7f449af02cc4902411b378b174e"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:40Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.918119,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445740,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0MH0._0pomWtXUsEU55x22kyNAcp-tD5N820Yb3l8fZYFcHQ"} 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":"d619b5148e6b838bb6df81252e5169b9"},"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/cf7c3635-3fe6-481c-b7af-5400290bc825' 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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12b072c4-e5a8-482d-8d3e-7901ff3a80ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d9e0b613-dde3-4ecd-a8b9-d5a9a9ea6e78","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445740.986654} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d619b5148e6b838bb6df81252e5169b9"},"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/90abe5cb-26cd-456b-bb73-b50bde73e65a' 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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"038dd3b2-92c6-4275-88e2-f99da3f1dd68","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445740.9921596} 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":"d619b5148e6b838bb6df81252e5169b9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12b072c4-e5a8-482d-8d3e-7901ff3a80ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"2a84fea9-f219-4f40-8559-98f2e7b0b536","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445741.0014088} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3cbed5f0-0049-4ece-997c-f9eb07275990","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445741.0016882} 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":"d619b5148e6b838bb6df81252e5169b9"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12b072c4-e5a8-482d-8d3e-7901ff3a80ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12b072c4-e5a8-482d-8d3e-7901ff3a80ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:41.001381675Z"}]},"request_id":"bd52edd5-1c2b-42d8-b0cb-9e911c5f7271","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445741.0059469} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d619b5148e6b838bb6df81252e5169b9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d619b5148e6b838bb6df81252e5169b9"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"d619b5148e6b838bb6df81252e5169b9","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0MX0.73MWkJe8fY4w_aUnZTIVvQxhdeqalChS_YLl8dwY6Ys","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ec83ad5e2724cf1372605c4f9a9f2ad3","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.910309,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445741,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0MX0.73MWkJe8fY4w_aUnZTIVvQxhdeqalChS_YLl8dwY6Ys"} 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":"ec83ad5e2724cf1372605c4f9a9f2ad3"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dc979f4-f473-4c13-b4ba-620ec01b06e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"26325107-674c-4089-a756-b91391e60d4b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445741.036091} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ec83ad5e2724cf1372605c4f9a9f2ad3"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d6c19952-2af9-4944-bbd1-ca560d8903d3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445741.0408053} 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":"ec83ad5e2724cf1372605c4f9a9f2ad3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dc979f4-f473-4c13-b4ba-620ec01b06e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"096aaf01-d77f-459c-b898-2acd22b56b73","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445741.0511482} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ad401128-2664-4bd2-9389-8c43e47ba524","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445741.0514154} 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":"ec83ad5e2724cf1372605c4f9a9f2ad3"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dc979f4-f473-4c13-b4ba-620ec01b06e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dc979f4-f473-4c13-b4ba-620ec01b06e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:41.051125494Z"}]},"request_id":"522401b0-41e7-4188-81fa-1330169c8613","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445741.055057} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ec83ad5e2724cf1372605c4f9a9f2ad3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ec83ad5e2724cf1372605c4f9a9f2ad3"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"ec83ad5e2724cf1372605c4f9a9f2ad3","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0MX0.73MWkJe8fY4w_aUnZTIVvQxhdeqalChS_YLl8dwY6Ys","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"390538d3a2a17c6c5812227690c793a2","responseTime":5,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0MX0.73MWkJe8fY4w_aUnZTIVvQxhdeqalChS_YLl8dwY6Ys","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"45d3d854de53fb5b4e3aaa454e7c92a9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.08627,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Received request.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445741,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0MX0.73MWkJe8fY4w_aUnZTIVvQxhdeqalChS_YLl8dwY6Ys"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"390538d3a2a17c6c5812227690c793a2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Sent response.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.652618,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445741,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0MX0.73MWkJe8fY4w_aUnZTIVvQxhdeqalChS_YLl8dwY6Ys"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45d3d854de53fb5b4e3aaa454e7c92a9"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dc979f4-f473-4c13-b4ba-620ec01b06e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dc979f4-f473-4c13-b4ba-620ec01b06e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:41.051125494Z"}]},"request_id":"6449782f-766d-404b-9589-aa4a6eea0ed1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445741.5423982} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"390538d3a2a17c6c5812227690c793a2"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12b072c4-e5a8-482d-8d3e-7901ff3a80ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12b072c4-e5a8-482d-8d3e-7901ff3a80ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:41.001381675Z"}]},"request_id":"fb62c52d-aacf-4ebb-ac10-201622901beb","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445741.5433335} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45d3d854de53fb5b4e3aaa454e7c92a9"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"faddf224-ecc1-4ec5-9710-d8aee49930b5","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445741.5476947} 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":"390538d3a2a17c6c5812227690c793a2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d8670e7c-064a-4eee-9071-769111bdb4b3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445741.5493236} 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":"45d3d854de53fb5b4e3aaa454e7c92a9"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12b072c4-e5a8-482d-8d3e-7901ff3a80ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12b072c4-e5a8-482d-8d3e-7901ff3a80ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:41.001381675Z"}]},"request_id":"82bcece5-a92b-4984-b2c2-673cea133380","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445741.5528336} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45d3d854de53fb5b4e3aaa454e7c92a9"},"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/12b072c4-e5a8-482d-8d3e-7901ff3a80ac 200 22ms","method":"PATCH","requestID":"45d3d854de53fb5b4e3aaa454e7c92a9","responseTime":22,"status":200,"url":"/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac"} gateway-1 | {"time_local":"08/Jul/2024:13:35:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.030","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"45d3d854de53fb5b4e3aaa454e7c92a9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0MX0.73MWkJe8fY4w_aUnZTIVvQxhdeqalChS_YLl8dwY6Ys","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"75231cb698365c2f6eca086902a365ed","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.28254,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445741,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0MX0.73MWkJe8fY4w_aUnZTIVvQxhdeqalChS_YLl8dwY6Ys"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"75231cb698365c2f6eca086902a365ed"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dc979f4-f473-4c13-b4ba-620ec01b06e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dc979f4-f473-4c13-b4ba-620ec01b06e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:41.051125494Z"}]},"request_id":"40a62d46-658c-4334-8671-c10172a8fe76","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445741.5644999} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"390538d3a2a17c6c5812227690c793a2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.042","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"390538d3a2a17c6c5812227690c793a2"} device-1 | {"level":"info","message":"PATCH /devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5 200 35ms","method":"PATCH","requestID":"390538d3a2a17c6c5812227690c793a2","responseTime":35,"status":200,"url":"/devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0MX0.73MWkJe8fY4w_aUnZTIVvQxhdeqalChS_YLl8dwY6Ys","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"828b69ddadd14b75aee34353bbbcac55","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.719443,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445741,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0MX0.73MWkJe8fY4w_aUnZTIVvQxhdeqalChS_YLl8dwY6Ys"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"828b69ddadd14b75aee34353bbbcac55"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.021","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"75231cb698365c2f6eca086902a365ed"} device-1 | {"level":"info","message":"POST /devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac/websocket 200 19ms","method":"POST","requestID":"75231cb698365c2f6eca086902a365ed","responseTime":19,"status":200,"url":"/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5/websocket 200 14ms","method":"POST","requestID":"828b69ddadd14b75aee34353bbbcac55","responseTime":14,"status":200,"url":"/devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:35:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.017","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"828b69ddadd14b75aee34353bbbcac55"} device-1 | {"level":"info","message":"device 'http://localhost/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0MX0.73MWkJe8fY4w_aUnZTIVvQxhdeqalChS_YLl8dwY6Ys","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"93152cb261bf3d257a35bfb551c4cca3","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.809855,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445741,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0MX0.73MWkJe8fY4w_aUnZTIVvQxhdeqalChS_YLl8dwY6Ys"} 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":"93152cb261bf3d257a35bfb551c4cca3"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12b072c4-e5a8-482d-8d3e-7901ff3a80ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12b072c4-e5a8-482d-8d3e-7901ff3a80ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:41.001381675Z"}]},"request_id":"07992e16-14ef-468d-b805-db8ea9722bca","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445741.619494} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"93152cb261bf3d257a35bfb551c4cca3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"93152cb261bf3d257a35bfb551c4cca3"} device-1 | {"level":"info","message":"GET /devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac? 200 14ms","method":"GET","requestID":"93152cb261bf3d257a35bfb551c4cca3","responseTime":14,"status":200,"url":"/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0MX0.73MWkJe8fY4w_aUnZTIVvQxhdeqalChS_YLl8dwY6Ys","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"51a397abed95bba7e438862058b708d5","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.893995,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445741,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0MX0.73MWkJe8fY4w_aUnZTIVvQxhdeqalChS_YLl8dwY6Ys"} 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":"51a397abed95bba7e438862058b708d5"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dc979f4-f473-4c13-b4ba-620ec01b06e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dc979f4-f473-4c13-b4ba-620ec01b06e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:41.051125494Z"}]},"request_id":"4b4c5883-b1ba-41e8-b391-33df0d487c6e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445741.636826} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"51a397abed95bba7e438862058b708d5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"51a397abed95bba7e438862058b708d5"} device-1 | {"level":"info","message":"GET /devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5? 200 13ms","method":"GET","requestID":"51a397abed95bba7e438862058b708d5","responseTime":13,"status":200,"url":"/devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0MX0.73MWkJe8fY4w_aUnZTIVvQxhdeqalChS_YLl8dwY6Ys","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"488011cf608755f12395f2d084d7ce2f","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:58630","level":"info","msg":"Received request.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.769541,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445741,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0MX0.73MWkJe8fY4w_aUnZTIVvQxhdeqalChS_YLl8dwY6Ys"} 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":"488011cf608755f12395f2d084d7ce2f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2001a6bb-1547-4bc9-8973-040c25e055ba"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2001a6bb-1547-4bc9-8973-040c25e055ba"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2001a6bb-1547-4bc9-8973-040c25e055ba"},"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:58630","level":"info","msg":"Received request.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.743261,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445741,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0MX0.73MWkJe8fY4w_aUnZTIVvQxhdeqalChS_YLl8dwY6Ys"} 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":"f863e160-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Received request.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Sent response.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.709662,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445741,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0MX0.73MWkJe8fY4w_aUnZTIVvQxhdeqalChS_YLl8dwY6Ys"} 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":"f8642f80-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12b072c4-e5a8-482d-8d3e-7901ff3a80ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12b072c4-e5a8-482d-8d3e-7901ff3a80ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:41.001381675Z"}]},"request_id":"d44fa048-50fc-4539-9d99-b7d27120cf16","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445741.6956108} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f863e160-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dc979f4-f473-4c13-b4ba-620ec01b06e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dc979f4-f473-4c13-b4ba-620ec01b06e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:41.051125494Z"}]},"request_id":"3599dea6-5ec6-421e-9006-da3215c65796","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445741.6965642} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8642f80-3d2e-11ef-b932-e1799b48160b"},"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/12b072c4-e5a8-482d-8d3e-7901ff3a80ac? 200 17ms","method":"GET","requestID":"f863e160-3d2e-11ef-b932-e1799b48160b","responseTime":17,"status":200,"url":"/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5? 200 16ms","method":"GET","requestID":"f8642f80-3d2e-11ef-b932-e1799b48160b","responseTime":16,"status":200,"url":"/devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2001a6bb-1547-4bc9-8973-040c25e055ba"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2001a6bb-1547-4bc9-8973-040c25e055ba"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2001a6bb-1547-4bc9-8973-040c25e055ba"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2001a6bb-1547-4bc9-8973-040c25e055ba"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2001a6bb-1547-4bc9-8973-040c25e055ba"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2001a6bb-1547-4bc9-8973-040c25e055ba"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2001a6bb-1547-4bc9-8973-040c25e055ba"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2001a6bb-1547-4bc9-8973-040c25e055ba"},"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/2001a6bb-1547-4bc9-8973-040c25e055ba"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.918952,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Received request.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445741,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0MX0.73MWkJe8fY4w_aUnZTIVvQxhdeqalChS_YLl8dwY6Ys"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f86eb6d0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Sent response.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.936609,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445741,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0MX0.73MWkJe8fY4w_aUnZTIVvQxhdeqalChS_YLl8dwY6Ys"} 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":"f86f04f0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12b072c4-e5a8-482d-8d3e-7901ff3a80ac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"149f5481-a889-4ed4-99cb-1de397e33ce1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445741.7675724} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.950448,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f86f2c00-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12b072c4-e5a8-482d-8d3e-7901ff3a80ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12b072c4-e5a8-482d-8d3e-7901ff3a80ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:41.001381675Z"}]},"request_id":"ef12572f-a00b-4c45-9efc-ef524cfc0a03","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445741.7700307} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f86eb6d0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"POST /devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac/signaling 200 13ms","method":"POST","requestID":"f86f2c00-3d2e-11ef-b932-e1799b48160b","responseTime":13,"status":200,"url":"/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac/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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dc979f4-f473-4c13-b4ba-620ec01b06e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dc979f4-f473-4c13-b4ba-620ec01b06e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:41.051125494Z"}]},"request_id":"d89e08e3-6c8d-49ea-bf61-7399485115be","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445741.773028} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f86f04f0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:41Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac? 200 24ms","method":"GET","requestID":"f86eb6d0-3d2e-11ef-b932-e1799b48160b","responseTime":24,"status":200,"url":"/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5? 200 23ms","method":"GET","requestID":"f86f04f0-3d2e-11ef-b932-e1799b48160b","responseTime":23,"status":200,"url":"/devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5?"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dc979f4-f473-4c13-b4ba-620ec01b06e5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e44cef8f-140c-432a-9fe4-42a8afb37a5b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445741.7831023} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.613585,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:41Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5","object_type":"device","rebac_allow":false,"scope_allow":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":"f871c410-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2001a6bb-1547-4bc9-8973-040c25e055ba#owner@http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2001a6bb-1547-4bc9-8973-040c25e055ba","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"3fc02dbf-6cc0-4e94-ba45-1cf641517a97","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445741.785255} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"68b34f10-3b29-41b1-97b0-5e95a88fdc58","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445741.7856555} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5/signaling 200 12ms","method":"POST","requestID":"f871c410-3d2e-11ef-b932-e1799b48160b","responseTime":12,"status":200,"url":"/devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5/signaling"} 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":"488011cf608755f12395f2d084d7ce2f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":24}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12b072c4-e5a8-482d-8d3e-7901ff3a80ac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5efa003e-46ce-4e8d-942b-4763874c9c30","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445741.7914603} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.274211,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f872fc90-3d2e-11ef-b932-e1799b48160b"},"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/12b072c4-e5a8-482d-8d3e-7901ff3a80ac/signaling 200 12ms","method":"POST","requestID":"f872fc90-3d2e-11ef-b932-e1799b48160b","responseTime":12,"status":200,"url":"/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/2001a6bb-1547-4bc9-8973-040c25e055ba","user":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/Jul/2024:13:35:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.156","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"488011cf608755f12395f2d084d7ce2f"} experiment-1 | {"level":"info","message":"POST /experiments? 201 152ms","method":"POST","requestID":"488011cf608755f12395f2d084d7ce2f","responseTime":152,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0MX0.73MWkJe8fY4w_aUnZTIVvQxhdeqalChS_YLl8dwY6Ys","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5af74efc7e5282adf54c187b5b4648d5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dc979f4-f473-4c13-b4ba-620ec01b06e5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fa4b5c14-c6f8-497f-9b1b-48690be61b97","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445741.8076482} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Received request.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.838607,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f87594a0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Sent response.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.876315,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445741,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0MX0.73MWkJe8fY4w_aUnZTIVvQxhdeqalChS_YLl8dwY6Ys"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5af74efc7e5282adf54c187b5b4648d5"},"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/4dc979f4-f473-4c13-b4ba-620ec01b06e5/signaling 200 11ms","method":"POST","requestID":"f87594a0-3d2e-11ef-b932-e1799b48160b","responseTime":11,"status":200,"url":"/devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5/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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12b072c4-e5a8-482d-8d3e-7901ff3a80ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12b072c4-e5a8-482d-8d3e-7901ff3a80ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:41.001381675Z"}]},"request_id":"ed8adb3c-c9fe-48b0-bacc-4692e5e5f73f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445741.8138576} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2001a6bb-1547-4bc9-8973-040c25e055ba"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2001a6bb-1547-4bc9-8973-040c25e055ba"},"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":"1ca4f083-ca79-456d-a519-e29e878775e4"},{"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":"8b680028-b8b2-4532-b699-635aa2d8df70"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"866b8230-a13f-44c8-89f5-954e4cb83b79"}]},"level":"info","message":"Built pairwise service configurations"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5af74efc7e5282adf54c187b5b4648d5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac"},{"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/4dc979f4-f473-4c13-b4ba-620ec01b06e5"}],"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:58630","level":"info","msg":"Received request.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:41Z"} gateway-1 | {"time_local":"08/Jul/2024:13:35:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5af74efc7e5282adf54c187b5b4648d5"} device-1 | {"level":"info","message":"GET /devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac? 200 14ms","method":"GET","requestID":"5af74efc7e5282adf54c187b5b4648d5","responseTime":14,"status":200,"url":"/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac?"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.910745,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445741,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0MX0.73MWkJe8fY4w_aUnZTIVvQxhdeqalChS_YLl8dwY6Ys"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f877b780-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0MX0.73MWkJe8fY4w_aUnZTIVvQxhdeqalChS_YLl8dwY6Ys","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3b8f8fcbd068dfc0ad2443322a3e7645","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.688851,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445741,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0MX0.73MWkJe8fY4w_aUnZTIVvQxhdeqalChS_YLl8dwY6Ys"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3b8f8fcbd068dfc0ad2443322a3e7645"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","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%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"1fa5773a-409a-4804-ad52-1955570079e9","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445741.8296227} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4ab3ac90-9c2f-40cb-b699-2b4c3c17e1b8","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445741.8298974} 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":"f877b780-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dc979f4-f473-4c13-b4ba-620ec01b06e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dc979f4-f473-4c13-b4ba-620ec01b06e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:41.051125494Z"}]},"request_id":"840986a8-4ae7-4b2f-ad96-efe7a66622cd","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445741.8345912} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3b8f8fcbd068dfc0ad2443322a3e7645"},"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/6a80960c-cb6c-423c-9e81-ef11a52a8cf7'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/6a80960c-cb6c-423c-9e81-ef11a52a8cf7'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 28ms","method":"POST","requestID":"f877b780-3d2e-11ef-b932-e1799b48160b","responseTime":28,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3b8f8fcbd068dfc0ad2443322a3e7645"} device-1 | {"level":"info","message":"GET /devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5? 200 20ms","method":"GET","requestID":"3b8f8fcbd068dfc0ad2443322a3e7645","responseTime":20,"status":200,"url":"/devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2001a6bb-1547-4bc9-8973-040c25e055ba"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12b072c4-e5a8-482d-8d3e-7901ff3a80ac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cc607427-e515-4af0-bc3f-ff50a56fe6a0","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445741.8781915} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.627363,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac","object_type":"device","rebac_allow":false,"scope_allow":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":"f8809120-3d2e-11ef-b932-e1799b48160b"},"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/12b072c4-e5a8-482d-8d3e-7901ff3a80ac/signaling 200 8ms","method":"POST","requestID":"f8809120-3d2e-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dc979f4-f473-4c13-b4ba-620ec01b06e5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4098d142-12f7-48bc-b5a6-41ed4778874e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445741.890021} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.385523,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f88217c0-3d2e-11ef-b932-e1799b48160b"},"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/4dc979f4-f473-4c13-b4ba-620ec01b06e5/signaling 200 10ms","method":"POST","requestID":"f88217c0-3d2e-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5/signaling"} device-1 | {"data":{"peerconnection":"6a80960c-cb6c-423c-9e81-ef11a52a8cf7","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"6a80960c-cb6c-423c-9e81-ef11a52a8cf7","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/6a80960c-cb6c-423c-9e81-ef11a52a8cf7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6a80960c-cb6c-423c-9e81-ef11a52a8cf7","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"708ecd3b7444e3af61400927bda91dbe","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac"},{"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/4dc979f4-f473-4c13-b4ba-620ec01b06e5"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/6a80960c-cb6c-423c-9e81-ef11a52a8cf7"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"708ecd3b7444e3af61400927bda91dbe","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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":"708ecd3b7444e3af61400927bda91dbe"} device-1 | {"data":{"peerconnection":"6a80960c-cb6c-423c-9e81-ef11a52a8cf7","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"6a80960c-cb6c-423c-9e81-ef11a52a8cf7","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/6a80960c-cb6c-423c-9e81-ef11a52a8cf7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6a80960c-cb6c-423c-9e81-ef11a52a8cf7","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2ea368196337638e3848bf6aefc95398","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/12b072c4-e5a8-482d-8d3e-7901ff3a80ac"},{"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/4dc979f4-f473-4c13-b4ba-620ec01b06e5"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/6a80960c-cb6c-423c-9e81-ef11a52a8cf7"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:43Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6a80960c-cb6c-423c-9e81-ef11a52a8cf7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f8486d50-bfcc-4262-ad54-a47ddae216c3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445743.9731994} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.119711,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6a80960c-cb6c-423c-9e81-ef11a52a8cf7","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/6a80960c-cb6c-423c-9e81-ef11a52a8cf7","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":"f9bfeef0-3d2e-11ef-b932-e1799b48160b"},"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/6a80960c-cb6c-423c-9e81-ef11a52a8cf7 200 10ms","method":"GET","requestID":"f9bfeef0-3d2e-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/peerconnections/6a80960c-cb6c-423c-9e81-ef11a52a8cf7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 37ms","method":"POST","requestID":"2ea368196337638e3848bf6aefc95398","responseTime":37,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.041","http_referrer":"","http_user_agent":"node-fetch","requestID":"2ea368196337638e3848bf6aefc95398"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:44Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12b072c4-e5a8-482d-8d3e-7901ff3a80ac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6c3d5553-6c78-4d6c-8a61-b99774d7b303","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445744.005371} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.64274,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f9c4f800-3d2e-11ef-b932-e1799b48160b"},"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/12b072c4-e5a8-482d-8d3e-7901ff3a80ac/signaling 200 10ms","method":"POST","requestID":"f9c4f800-3d2e-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:44Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dc979f4-f473-4c13-b4ba-620ec01b06e5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ab5191ae-d264-4b9d-a388-f9cfa74a978b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445744.019677} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.623836,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f9c71ae0-3d2e-11ef-b932-e1799b48160b"},"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/4dc979f4-f473-4c13-b4ba-620ec01b06e5/signaling 200 10ms","method":"POST","requestID":"f9c71ae0-3d2e-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0NH0.bW77XNpcLtRxeQYar0hM4_TCBGIxKKZMLiThCK3eHTE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dd0661da89fdacbc8ba3db2494187b85","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2001a6bb-1547-4bc9-8973-040c25e055ba"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:44Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.242094,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2001a6bb-1547-4bc9-8973-040c25e055ba","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/2001a6bb-1547-4bc9-8973-040c25e055ba","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445744,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0NH0.bW77XNpcLtRxeQYar0hM4_TCBGIxKKZMLiThCK3eHTE"} 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":"dd0661da89fdacbc8ba3db2494187b85"},"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/2001a6bb-1547-4bc9-8973-040c25e055ba"} gateway-1 | {"time_local":"08/Jul/2024:13:35:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2001a6bb-1547-4bc9-8973-040c25e055ba HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dd0661da89fdacbc8ba3db2494187b85"} experiment-1 | {"level":"info","message":"GET /experiments/2001a6bb-1547-4bc9-8973-040c25e055ba 200 16ms","method":"GET","requestID":"dd0661da89fdacbc8ba3db2494187b85","responseTime":16,"status":200,"url":"/experiments/2001a6bb-1547-4bc9-8973-040c25e055ba"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0NH0.bW77XNpcLtRxeQYar0hM4_TCBGIxKKZMLiThCK3eHTE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f95788ef560bad497430c56cddba509c","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/2001a6bb-1547-4bc9-8973-040c25e055ba"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:44Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.220706,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:44Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2001a6bb-1547-4bc9-8973-040c25e055ba","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/2001a6bb-1547-4bc9-8973-040c25e055ba","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445744,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0NH0.bW77XNpcLtRxeQYar0hM4_TCBGIxKKZMLiThCK3eHTE"} 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":"f95788ef560bad497430c56cddba509c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2001a6bb-1547-4bc9-8973-040c25e055ba"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:44Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.173649,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:44Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6a80960c-cb6c-423c-9e81-ef11a52a8cf7","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:http://localhost/peerconnections/6a80960c-cb6c-423c-9e81-ef11a52a8cf7","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445744,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0NH0.bW77XNpcLtRxeQYar0hM4_TCBGIxKKZMLiThCK3eHTE"} 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":"f9d46150-3d2e-11ef-b932-e1799b48160b"},"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/6a80960c-cb6c-423c-9e81-ef11a52a8cf7' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/6a80960c-cb6c-423c-9e81-ef11a52a8cf7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6a80960c-cb6c-423c-9e81-ef11a52a8cf7","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6a80960c-cb6c-423c-9e81-ef11a52a8cf7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6a80960c-cb6c-423c-9e81-ef11a52a8cf7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"f5b6265d-da02-4df8-abf7-11b1fd1e6585","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445744.12578} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"411f2763-ab56-4f68-adb9-8be690124d80","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445744.1261234} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"357bed2af896acfcef452219ce276cd7","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac"},{"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/4dc979f4-f473-4c13-b4ba-620ec01b06e5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6a80960c-cb6c-423c-9e81-ef11a52a8cf7"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8ac56f04ab2b5233162211d09ab9997b","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f9d46150-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac"},{"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/4dc979f4-f473-4c13-b4ba-620ec01b06e5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6a80960c-cb6c-423c-9e81-ef11a52a8cf7"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"6a80960c-cb6c-423c-9e81-ef11a52a8cf7","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/6a80960c-cb6c-423c-9e81-ef11a52a8cf7 204 46ms","method":"DELETE","requestID":"f9d46150-3d2e-11ef-b932-e1799b48160b","responseTime":46,"status":204,"url":"/peerconnections/6a80960c-cb6c-423c-9e81-ef11a52a8cf7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2001a6bb-1547-4bc9-8973-040c25e055ba"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:44Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12b072c4-e5a8-482d-8d3e-7901ff3a80ac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4b7c4bd7-56d8-44c2-85bd-596725b6ee63","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445744.177862} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.108403,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac","object_type":"device","rebac_allow":false,"scope_allow":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":"f9dec190-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2001a6bb-1547-4bc9-8973-040c25e055ba': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2001a6bb-1547-4bc9-8973-040c25e055ba","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"004682d9-f502-4315-a9cc-0dbbf3f92c75","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445744.180477} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b4abd567-c5fe-4977-90d5-45f94e5b277b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445744.18117} 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":"f95788ef560bad497430c56cddba509c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac/signaling 200 18ms","method":"POST","requestID":"f9dec190-3d2e-11ef-b932-e1799b48160b","responseTime":18,"status":200,"url":"/devices/12b072c4-e5a8-482d-8d3e-7901ff3a80ac/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:44Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dc979f4-f473-4c13-b4ba-620ec01b06e5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bc8211c7-b6e0-49d0-816d-f6fea1cf083c","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445744.1978648} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.827314,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5","object_type":"device","rebac_allow":false,"scope_allow":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":"f9e1f5e0-3d2e-11ef-b932-e1799b48160b"},"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/4dc979f4-f473-4c13-b4ba-620ec01b06e5/signaling 200 14ms","method":"POST","requestID":"f9e1f5e0-3d2e-11ef-b932-e1799b48160b","responseTime":14,"status":200,"url":"/devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/2001a6bb-1547-4bc9-8973-040c25e055ba"} gateway-1 | {"time_local":"08/Jul/2024:13:35:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/2001a6bb-1547-4bc9-8973-040c25e055ba 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":"f95788ef560bad497430c56cddba509c"} gateway-1 | {"time_local":"08/Jul/2024:13:35:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2747","request_time":"2.703","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"183de00c69416fad5aee6d815fc775a9"} experiment-1 | {"level":"info","message":"DELETE /experiments/2001a6bb-1547-4bc9-8973-040c25e055ba 204 197ms","method":"DELETE","requestID":"f95788ef560bad497430c56cddba509c","responseTime":197,"status":204,"url":"/experiments/2001a6bb-1547-4bc9-8973-040c25e055ba"} gateway-1 | {"time_local":"08/Jul/2024:13:35:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2745","request_time":"2.695","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"4d92e013384021e8ef71658e7631ae5d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 155ms","method":"POST","requestID":"357bed2af896acfcef452219ce276cd7","responseTime":155,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.162","http_referrer":"","http_user_agent":"node-fetch","requestID":"357bed2af896acfcef452219ce276cd7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 154ms","method":"POST","requestID":"8ac56f04ab2b5233162211d09ab9997b","responseTime":154,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.163","http_referrer":"","http_user_agent":"node-fetch","requestID":"8ac56f04ab2b5233162211d09ab9997b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0NH0.bW77XNpcLtRxeQYar0hM4_TCBGIxKKZMLiThCK3eHTE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"51a349c8bc0e75a5d978ffae3b1d8014","responseTime":3,"status":200,"url":"/auth"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/4dc979f4-f473-4c13-b4ba-620ec01b06e5' closed"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:44Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.958601,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445744,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0NH0.bW77XNpcLtRxeQYar0hM4_TCBGIxKKZMLiThCK3eHTE"} 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":"51a349c8bc0e75a5d978ffae3b1d8014"},"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/12b072c4-e5a8-482d-8d3e-7901ff3a80ac' 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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98ac6217-3cd6-4aee-b8be-04caa41905bb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7d765fe3-4c67-4963-b740-97e918596799","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445744.3152208} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"51a349c8bc0e75a5d978ffae3b1d8014"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"98bdaf20-1035-4548-b580-780a20453952","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445744.3227775} 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":"51a349c8bc0e75a5d978ffae3b1d8014"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98ac6217-3cd6-4aee-b8be-04caa41905bb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"73fc6c9b-f898-4e87-b05a-f5f4c19103fd","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445744.3325944} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1bb19664-ed2d-40e6-9b85-70f110bb46f0","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445744.3334599} 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":"51a349c8bc0e75a5d978ffae3b1d8014"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98ac6217-3cd6-4aee-b8be-04caa41905bb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98ac6217-3cd6-4aee-b8be-04caa41905bb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:44.332558329Z"}]},"request_id":"325510a8-0534-4013-a9f6-698f8d633cc1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445744.3400905} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"51a349c8bc0e75a5d978ffae3b1d8014"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"51a349c8bc0e75a5d978ffae3b1d8014"} device-1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"51a349c8bc0e75a5d978ffae3b1d8014","responseTime":51,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0NH0.bW77XNpcLtRxeQYar0hM4_TCBGIxKKZMLiThCK3eHTE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"de41a980266a01e6c07a1ca8b2e15a6e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:44Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.979908,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445744,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0NH0.bW77XNpcLtRxeQYar0hM4_TCBGIxKKZMLiThCK3eHTE"} 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":"de41a980266a01e6c07a1ca8b2e15a6e"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8f829d5-9cb4-4516-bee7-4a434bdd9f11","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"25747fb4-816a-4ceb-a051-75b3619f9d4c","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445744.368345} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"de41a980266a01e6c07a1ca8b2e15a6e"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1fbfa9d3-0bd4-434c-85ef-ced08ca12f95","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445744.373766} 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":"de41a980266a01e6c07a1ca8b2e15a6e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8f829d5-9cb4-4516-bee7-4a434bdd9f11","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"a58fa894-c36e-4844-af51-28d3ccbdc9c7","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445744.3905704} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3c67d316-d215-4ac0-a376-9839234d6145","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445744.3908322} 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":"de41a980266a01e6c07a1ca8b2e15a6e"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8f829d5-9cb4-4516-bee7-4a434bdd9f11","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8f829d5-9cb4-4516-bee7-4a434bdd9f11","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:44.390542368Z"}]},"request_id":"60f8f36e-10fb-45e8-9bed-e0836c27bef7","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445744.396169} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"de41a980266a01e6c07a1ca8b2e15a6e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"de41a980266a01e6c07a1ca8b2e15a6e"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"de41a980266a01e6c07a1ca8b2e15a6e","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0NH0.bW77XNpcLtRxeQYar0hM4_TCBGIxKKZMLiThCK3eHTE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"750c1786e86f187d89c654e80da892df","responseTime":5,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0NH0.bW77XNpcLtRxeQYar0hM4_TCBGIxKKZMLiThCK3eHTE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fd480798979dc695f573906fc2c8ea89","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:44Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.639708,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:44Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/98ac6217-3cd6-4aee-b8be-04caa41905bb","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/98ac6217-3cd6-4aee-b8be-04caa41905bb","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445744,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0NH0.bW77XNpcLtRxeQYar0hM4_TCBGIxKKZMLiThCK3eHTE"} 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":"750c1786e86f187d89c654e80da892df"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Received request.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:44Z"} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Sent response.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.655699,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:44Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445744,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0NH0.bW77XNpcLtRxeQYar0hM4_TCBGIxKKZMLiThCK3eHTE"} 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":"fd480798979dc695f573906fc2c8ea89"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98ac6217-3cd6-4aee-b8be-04caa41905bb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98ac6217-3cd6-4aee-b8be-04caa41905bb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:44.332558329Z"}]},"request_id":"0505a8c3-6774-490a-9537-78934e2302e4","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445744.8793662} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"750c1786e86f187d89c654e80da892df"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8f829d5-9cb4-4516-bee7-4a434bdd9f11","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8f829d5-9cb4-4516-bee7-4a434bdd9f11","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:44.390542368Z"}]},"request_id":"6ec1149d-dedc-4b9c-bf94-6bc14fd8534f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445744.879928} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fd480798979dc695f573906fc2c8ea89"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5294b09e-21d0-450a-8a40-4e4d787632be","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445744.8844044} 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":"750c1786e86f187d89c654e80da892df"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2e67e197-8982-4f4f-a710-81a1b6250eb8","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445744.887197} 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":"fd480798979dc695f573906fc2c8ea89"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8f829d5-9cb4-4516-bee7-4a434bdd9f11","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8f829d5-9cb4-4516-bee7-4a434bdd9f11","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:44.390542368Z"}]},"request_id":"59e15e9d-b8a1-4996-a5a7-b3cf3acc8a41","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445744.8902047} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fd480798979dc695f573906fc2c8ea89"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.030","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"fd480798979dc695f573906fc2c8ea89"} device-1 | {"level":"info","message":"PATCH /devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11 200 23ms","method":"PATCH","requestID":"fd480798979dc695f573906fc2c8ea89","responseTime":23,"status":200,"url":"/devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0NH0.bW77XNpcLtRxeQYar0hM4_TCBGIxKKZMLiThCK3eHTE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"610c9c4fe910e1dc9d3dbf4700c23b85","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:44Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.625249,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:44Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445744,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0NH0.bW77XNpcLtRxeQYar0hM4_TCBGIxKKZMLiThCK3eHTE"} 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":"610c9c4fe910e1dc9d3dbf4700c23b85"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98ac6217-3cd6-4aee-b8be-04caa41905bb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98ac6217-3cd6-4aee-b8be-04caa41905bb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:44.332558329Z"}]},"request_id":"86f2d596-a1db-4383-b131-5f49ad815c7a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445744.9025397} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"750c1786e86f187d89c654e80da892df"},"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/98ac6217-3cd6-4aee-b8be-04caa41905bb 200 38ms","method":"PATCH","requestID":"750c1786e86f187d89c654e80da892df","responseTime":38,"status":200,"url":"/devices/98ac6217-3cd6-4aee-b8be-04caa41905bb"} gateway-1 | {"time_local":"08/Jul/2024:13:35:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/98ac6217-3cd6-4aee-b8be-04caa41905bb HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"750c1786e86f187d89c654e80da892df"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0NH0.bW77XNpcLtRxeQYar0hM4_TCBGIxKKZMLiThCK3eHTE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e897df04739c9936c31c2b7089e0efcd","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.021","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"610c9c4fe910e1dc9d3dbf4700c23b85"} device-1 | {"level":"info","message":"POST /devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11/websocket 200 16ms","method":"POST","requestID":"610c9c4fe910e1dc9d3dbf4700c23b85","responseTime":16,"status":200,"url":"/devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11/websocket"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:44Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.963434,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:44Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/98ac6217-3cd6-4aee-b8be-04caa41905bb","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/98ac6217-3cd6-4aee-b8be-04caa41905bb","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445744,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0NH0.bW77XNpcLtRxeQYar0hM4_TCBGIxKKZMLiThCK3eHTE"} 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":"e897df04739c9936c31c2b7089e0efcd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/98ac6217-3cd6-4aee-b8be-04caa41905bb/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.020","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"e897df04739c9936c31c2b7089e0efcd"} device-1 | {"level":"info","message":"POST /devices/98ac6217-3cd6-4aee-b8be-04caa41905bb/websocket 200 15ms","method":"POST","requestID":"e897df04739c9936c31c2b7089e0efcd","responseTime":15,"status":200,"url":"/devices/98ac6217-3cd6-4aee-b8be-04caa41905bb/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/98ac6217-3cd6-4aee-b8be-04caa41905bb' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0NH0.bW77XNpcLtRxeQYar0hM4_TCBGIxKKZMLiThCK3eHTE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b433512cffb53474d5b41b4a64da3633","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:44Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.641044,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/98ac6217-3cd6-4aee-b8be-04caa41905bb","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/98ac6217-3cd6-4aee-b8be-04caa41905bb","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445744,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0NH0.bW77XNpcLtRxeQYar0hM4_TCBGIxKKZMLiThCK3eHTE"} 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":"b433512cffb53474d5b41b4a64da3633"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98ac6217-3cd6-4aee-b8be-04caa41905bb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98ac6217-3cd6-4aee-b8be-04caa41905bb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:44.332558329Z"}]},"request_id":"be165124-52c5-4884-a4d5-6c403b99ba76","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445744.9557998} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b433512cffb53474d5b41b4a64da3633"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/98ac6217-3cd6-4aee-b8be-04caa41905bb? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b433512cffb53474d5b41b4a64da3633"} device-1 | {"level":"info","message":"GET /devices/98ac6217-3cd6-4aee-b8be-04caa41905bb? 200 11ms","method":"GET","requestID":"b433512cffb53474d5b41b4a64da3633","responseTime":11,"status":200,"url":"/devices/98ac6217-3cd6-4aee-b8be-04caa41905bb?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0NH0.bW77XNpcLtRxeQYar0hM4_TCBGIxKKZMLiThCK3eHTE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3ab7a07d4c93c096eb58a14bbbf14b6b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:44Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.623735,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445744,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0NH0.bW77XNpcLtRxeQYar0hM4_TCBGIxKKZMLiThCK3eHTE"} 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":"3ab7a07d4c93c096eb58a14bbbf14b6b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8f829d5-9cb4-4516-bee7-4a434bdd9f11","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8f829d5-9cb4-4516-bee7-4a434bdd9f11","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:44.390542368Z"}]},"request_id":"3bd8158c-a6a7-4750-96b4-159485d36b3e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445744.971664} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3ab7a07d4c93c096eb58a14bbbf14b6b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3ab7a07d4c93c096eb58a14bbbf14b6b"} device-1 | {"level":"info","message":"GET /devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11? 200 11ms","method":"GET","requestID":"3ab7a07d4c93c096eb58a14bbbf14b6b","responseTime":11,"status":200,"url":"/devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0NH0.bW77XNpcLtRxeQYar0hM4_TCBGIxKKZMLiThCK3eHTE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"684342a1d093e437ba580d09fe535aad","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:58630","level":"info","msg":"Received request.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:44Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.129845,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445744,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0NH0.bW77XNpcLtRxeQYar0hM4_TCBGIxKKZMLiThCK3eHTE"} 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":"684342a1d093e437ba580d09fe535aad"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78728f5f-8d59-4c0b-9c7a-c0cd97a8b739"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78728f5f-8d59-4c0b-9c7a-c0cd97a8b739"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78728f5f-8d59-4c0b-9c7a-c0cd97a8b739"},"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:58630","level":"info","msg":"Received request.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:45Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.75465,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/98ac6217-3cd6-4aee-b8be-04caa41905bb","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/98ac6217-3cd6-4aee-b8be-04caa41905bb","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445744,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0NH0.bW77XNpcLtRxeQYar0hM4_TCBGIxKKZMLiThCK3eHTE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa60c2d0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Received request.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:45Z"} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Sent response.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.777797,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445744,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0NH0.bW77XNpcLtRxeQYar0hM4_TCBGIxKKZMLiThCK3eHTE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa6110f0-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98ac6217-3cd6-4aee-b8be-04caa41905bb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98ac6217-3cd6-4aee-b8be-04caa41905bb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:44.332558329Z"}]},"request_id":"23bd2be2-6323-4c47-95f0-90a71e6cb6c5","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445745.0320628} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa60c2d0-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8f829d5-9cb4-4516-bee7-4a434bdd9f11","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8f829d5-9cb4-4516-bee7-4a434bdd9f11","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:44.390542368Z"}]},"request_id":"28ea25fb-716f-4ac6-8e89-7f00fec22f93","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445745.0333042} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa6110f0-3d2e-11ef-b932-e1799b48160b"},"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/98ac6217-3cd6-4aee-b8be-04caa41905bb? 200 17ms","method":"GET","requestID":"fa60c2d0-3d2e-11ef-b932-e1799b48160b","responseTime":17,"status":200,"url":"/devices/98ac6217-3cd6-4aee-b8be-04caa41905bb?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11? 200 17ms","method":"GET","requestID":"fa6110f0-3d2e-11ef-b932-e1799b48160b","responseTime":17,"status":200,"url":"/devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78728f5f-8d59-4c0b-9c7a-c0cd97a8b739"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78728f5f-8d59-4c0b-9c7a-c0cd97a8b739"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78728f5f-8d59-4c0b-9c7a-c0cd97a8b739"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78728f5f-8d59-4c0b-9c7a-c0cd97a8b739"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78728f5f-8d59-4c0b-9c7a-c0cd97a8b739"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78728f5f-8d59-4c0b-9c7a-c0cd97a8b739"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78728f5f-8d59-4c0b-9c7a-c0cd97a8b739"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78728f5f-8d59-4c0b-9c7a-c0cd97a8b739"},"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/78728f5f-8d59-4c0b-9c7a-c0cd97a8b739"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:45Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.212352,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:45Z"} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Received request.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/98ac6217-3cd6-4aee-b8be-04caa41905bb","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/98ac6217-3cd6-4aee-b8be-04caa41905bb","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445744,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0NH0.bW77XNpcLtRxeQYar0hM4_TCBGIxKKZMLiThCK3eHTE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa6a11a0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Sent response.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.812758,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445744,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0NH0.bW77XNpcLtRxeQYar0hM4_TCBGIxKKZMLiThCK3eHTE"} 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":"fa6a86d0-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98ac6217-3cd6-4aee-b8be-04caa41905bb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98ac6217-3cd6-4aee-b8be-04caa41905bb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:44.332558329Z"}]},"request_id":"ffb87c27-48b8-4acb-8fd8-897e132c0ae9","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445745.0951533} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8f829d5-9cb4-4516-bee7-4a434bdd9f11","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8f829d5-9cb4-4516-bee7-4a434bdd9f11","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:44.390542368Z"}]},"request_id":"e5e3fc1b-b8c8-41c7-9fdd-530950de594e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445745.0962548} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa6a11a0-3d2e-11ef-b932-e1799b48160b"},"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:45760","level":"info","msg":"Received request.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:45Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa6a86d0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98ac6217-3cd6-4aee-b8be-04caa41905bb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b9440959-b59f-4826-b4ef-af43a67488db","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445745.1000018} authorization-1 | {"client_addr":"127.0.0.1:45760","level":"info","msg":"Sent response.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.404491,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/98ac6217-3cd6-4aee-b8be-04caa41905bb","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/98ac6217-3cd6-4aee-b8be-04caa41905bb","object_type":"device","rebac_allow":false,"scope_allow":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":"fa6aade0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/98ac6217-3cd6-4aee-b8be-04caa41905bb? 200 23ms","method":"GET","requestID":"fa6a11a0-3d2e-11ef-b932-e1799b48160b","responseTime":23,"status":200,"url":"/devices/98ac6217-3cd6-4aee-b8be-04caa41905bb?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11? 200 21ms","method":"GET","requestID":"fa6a86d0-3d2e-11ef-b932-e1799b48160b","responseTime":21,"status":200,"url":"/devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11?"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F78728f5f-8d59-4c0b-9c7a-c0cd97a8b739#owner@http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F78728f5f-8d59-4c0b-9c7a-c0cd97a8b739","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"0370e209-151c-4557-8e58-09a8607ec0b6","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445745.1053855} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e63681fb-3ca7-40a1-8060-73048eb07ae2","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445745.105824} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"684342a1d093e437ba580d09fe535aad"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} device-1 | {"level":"info","message":"POST /devices/98ac6217-3cd6-4aee-b8be-04caa41905bb/signaling 200 25ms","method":"POST","requestID":"fa6aade0-3d2e-11ef-b932-e1799b48160b","responseTime":25,"status":200,"url":"/devices/98ac6217-3cd6-4aee-b8be-04caa41905bb/signaling"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:45Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98ac6217-3cd6-4aee-b8be-04caa41905bb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bfe55549-cc86-4b6a-a468-4f56c3fb3aef","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445745.1151657} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.009573,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:45Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/98ac6217-3cd6-4aee-b8be-04caa41905bb","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/98ac6217-3cd6-4aee-b8be-04caa41905bb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa6e5760-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:45Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/78728f5f-8d59-4c0b-9c7a-c0cd97a8b739","user":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/Jul/2024:13:35:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.144","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"684342a1d093e437ba580d09fe535aad"} experiment-1 | {"level":"info","message":"POST /experiments? 201 139ms","method":"POST","requestID":"684342a1d093e437ba580d09fe535aad","responseTime":139,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/98ac6217-3cd6-4aee-b8be-04caa41905bb/signaling 200 11ms","method":"POST","requestID":"fa6e5760-3d2e-11ef-b932-e1799b48160b","responseTime":11,"status":200,"url":"/devices/98ac6217-3cd6-4aee-b8be-04caa41905bb/signaling"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8f829d5-9cb4-4516-bee7-4a434bdd9f11","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"26f3e46b-6652-4cfb-8741-744848d16c80","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445745.1216738} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.289673,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11","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 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa6f41c0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0NX0.qP1qA8V-S85NWWvFDqjOvLWmmOZ9oEsiSkxz1K5R4og","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e40e7c0a9c48072dad4243925c150597","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:45Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8f829d5-9cb4-4516-bee7-4a434bdd9f11","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c355213b-2cf0-47e0-9ca4-900a34b10945","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445745.128458} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.100979,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:45Z"} device-1 | {"level":"info","message":"POST /devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11/signaling 200 14ms","method":"POST","requestID":"fa6f41c0-3d2e-11ef-b932-e1799b48160b","responseTime":14,"status":200,"url":"/devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11/signaling"} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Received request.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa705330-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:55146","level":"info","msg":"Sent response.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.278534,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/98ac6217-3cd6-4aee-b8be-04caa41905bb","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/98ac6217-3cd6-4aee-b8be-04caa41905bb","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445745,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0NX0.qP1qA8V-S85NWWvFDqjOvLWmmOZ9oEsiSkxz1K5R4og"} 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":"e40e7c0a9c48072dad4243925c150597"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98ac6217-3cd6-4aee-b8be-04caa41905bb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98ac6217-3cd6-4aee-b8be-04caa41905bb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:44.332558329Z"}]},"request_id":"445de2b9-8506-431c-9a9f-4a20cb27a776","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445745.1368136} device-1 | {"level":"info","message":"POST /devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11/signaling 200 14ms","method":"POST","requestID":"fa705330-3d2e-11ef-b932-e1799b48160b","responseTime":14,"status":200,"url":"/devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11/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":"e40e7c0a9c48072dad4243925c150597"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78728f5f-8d59-4c0b-9c7a-c0cd97a8b739"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78728f5f-8d59-4c0b-9c7a-c0cd97a8b739"},"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":"2ea3ce18-1fbc-4831-96b8-a67a2f03e004"},{"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":"d4344eb0-5e9d-4522-8611-e684b2f296d7"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"d8840caf-5969-4ef9-9c7d-aec0fb0fba2f"}]},"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/98ac6217-3cd6-4aee-b8be-04caa41905bb"},{"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/a8f829d5-9cb4-4516-bee7-4a434bdd9f11"}],"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:58630","level":"info","msg":"Received request.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:45Z"} gateway-1 | {"time_local":"08/Jul/2024:13:35:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/98ac6217-3cd6-4aee-b8be-04caa41905bb? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e40e7c0a9c48072dad4243925c150597"} device-1 | {"level":"info","message":"GET /devices/98ac6217-3cd6-4aee-b8be-04caa41905bb? 200 17ms","method":"GET","requestID":"e40e7c0a9c48072dad4243925c150597","responseTime":17,"status":200,"url":"/devices/98ac6217-3cd6-4aee-b8be-04caa41905bb?"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.931791,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445744,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0NH0.bW77XNpcLtRxeQYar0hM4_TCBGIxKKZMLiThCK3eHTE"} 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":"fa72eb40-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0NX0.qP1qA8V-S85NWWvFDqjOvLWmmOZ9oEsiSkxz1K5R4og","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1585fdf86eb263fd0d531fc888e93d85","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:45Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.654938,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445745,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0NX0.qP1qA8V-S85NWWvFDqjOvLWmmOZ9oEsiSkxz1K5R4og"} 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":"1585fdf86eb263fd0d531fc888e93d85"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","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%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"02b1f57d-6beb-451e-97e3-e8d624434d3a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445745.1536489} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3aef2b66-b04b-43ae-8863-ebc680828d3a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445745.1540034} 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":"fa72eb40-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8f829d5-9cb4-4516-bee7-4a434bdd9f11","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8f829d5-9cb4-4516-bee7-4a434bdd9f11","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:44.390542368Z"}]},"request_id":"5a6686ca-eed9-4b7a-bc3b-fdb5a95e128f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445745.1576815} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1585fdf86eb263fd0d531fc888e93d85"},"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/026a219d-2338-48af-94a0-c7a71b6f4d93'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/026a219d-2338-48af-94a0-c7a71b6f4d93'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 27ms","method":"POST","requestID":"fa72eb40-3d2e-11ef-b932-e1799b48160b","responseTime":27,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1585fdf86eb263fd0d531fc888e93d85"} device-1 | {"level":"info","message":"GET /devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11? 200 18ms","method":"GET","requestID":"1585fdf86eb263fd0d531fc888e93d85","responseTime":18,"status":200,"url":"/devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78728f5f-8d59-4c0b-9c7a-c0cd97a8b739"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:45Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98ac6217-3cd6-4aee-b8be-04caa41905bb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3ec25a24-e250-4ab4-ae29-10fd4e835214","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445745.1947918} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.652384,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/98ac6217-3cd6-4aee-b8be-04caa41905bb","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/98ac6217-3cd6-4aee-b8be-04caa41905bb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa7a8c60-3d2e-11ef-b932-e1799b48160b"},"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/98ac6217-3cd6-4aee-b8be-04caa41905bb/signaling 200 8ms","method":"POST","requestID":"fa7a8c60-3d2e-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/devices/98ac6217-3cd6-4aee-b8be-04caa41905bb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:45Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8f829d5-9cb4-4516-bee7-4a434bdd9f11","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8fe28581-6c33-4df6-b724-dcd83e412017","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445745.205798} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.506653,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa7c3a10-3d2e-11ef-b932-e1799b48160b"},"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/a8f829d5-9cb4-4516-bee7-4a434bdd9f11/signaling 200 9ms","method":"POST","requestID":"fa7c3a10-3d2e-11ef-b932-e1799b48160b","responseTime":9,"status":200,"url":"/devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11/signaling"} device-1 | {"data":{"peerconnection":"026a219d-2338-48af-94a0-c7a71b6f4d93","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"026a219d-2338-48af-94a0-c7a71b6f4d93","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/026a219d-2338-48af-94a0-c7a71b6f4d93' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"026a219d-2338-48af-94a0-c7a71b6f4d93","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"29f38c8990fb5835f2d7c94714eebc8d","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/98ac6217-3cd6-4aee-b8be-04caa41905bb"},{"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/a8f829d5-9cb4-4516-bee7-4a434bdd9f11"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/026a219d-2338-48af-94a0-c7a71b6f4d93"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"29f38c8990fb5835f2d7c94714eebc8d","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"29f38c8990fb5835f2d7c94714eebc8d"} device-1 | {"data":{"peerconnection":"026a219d-2338-48af-94a0-c7a71b6f4d93","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"026a219d-2338-48af-94a0-c7a71b6f4d93","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/026a219d-2338-48af-94a0-c7a71b6f4d93' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"026a219d-2338-48af-94a0-c7a71b6f4d93","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e4e881949a2d7811207db8450991a670","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/98ac6217-3cd6-4aee-b8be-04caa41905bb"},{"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/a8f829d5-9cb4-4516-bee7-4a434bdd9f11"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/026a219d-2338-48af-94a0-c7a71b6f4d93"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:47Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F026a219d-2338-48af-94a0-c7a71b6f4d93","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6ddc3c82-a5e2-45ed-a048-bedaa5accf08","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445747.295939} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.280234,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/026a219d-2338-48af-94a0-c7a71b6f4d93","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/026a219d-2338-48af-94a0-c7a71b6f4d93","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":"fbbad490-3d2e-11ef-b932-e1799b48160b"},"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/026a219d-2338-48af-94a0-c7a71b6f4d93 200 11ms","method":"GET","requestID":"fbbad490-3d2e-11ef-b932-e1799b48160b","responseTime":11,"status":200,"url":"/peerconnections/026a219d-2338-48af-94a0-c7a71b6f4d93"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 46ms","method":"POST","requestID":"e4e881949a2d7811207db8450991a670","responseTime":46,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.050","http_referrer":"","http_user_agent":"node-fetch","requestID":"e4e881949a2d7811207db8450991a670"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:47Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98ac6217-3cd6-4aee-b8be-04caa41905bb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6ed84816-43e5-457b-835e-dae372d857d5","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445747.3326788} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.616429,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/98ac6217-3cd6-4aee-b8be-04caa41905bb","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/98ac6217-3cd6-4aee-b8be-04caa41905bb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fbc0c800-3d2e-11ef-b932-e1799b48160b"},"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/98ac6217-3cd6-4aee-b8be-04caa41905bb/signaling 200 12ms","method":"POST","requestID":"fbc0c800-3d2e-11ef-b932-e1799b48160b","responseTime":12,"status":200,"url":"/devices/98ac6217-3cd6-4aee-b8be-04caa41905bb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:47Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8f829d5-9cb4-4516-bee7-4a434bdd9f11","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9f44a899-fbf9-4dfc-a601-b15f55cb74e9","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445747.3508205} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.376115,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11","object_type":"device","rebac_allow":false,"scope_allow":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":"fbc33900-3d2e-11ef-b932-e1799b48160b"},"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/a8f829d5-9cb4-4516-bee7-4a434bdd9f11/signaling 200 13ms","method":"POST","requestID":"fbc33900-3d2e-11ef-b932-e1799b48160b","responseTime":13,"status":200,"url":"/devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0N30.IOCILM1g368WOw3oU5o5ZuH-fXFu8Urk-5J_Eb4z-ow","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"da840c9fb00383b20cd19e65c3df73f8","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/78728f5f-8d59-4c0b-9c7a-c0cd97a8b739"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:47Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.208135,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/78728f5f-8d59-4c0b-9c7a-c0cd97a8b739","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/78728f5f-8d59-4c0b-9c7a-c0cd97a8b739","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445747,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0N30.IOCILM1g368WOw3oU5o5ZuH-fXFu8Urk-5J_Eb4z-ow"} 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":"da840c9fb00383b20cd19e65c3df73f8"},"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/78728f5f-8d59-4c0b-9c7a-c0cd97a8b739"} gateway-1 | {"time_local":"08/Jul/2024:13:35:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/78728f5f-8d59-4c0b-9c7a-c0cd97a8b739 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":"da840c9fb00383b20cd19e65c3df73f8"} experiment-1 | {"level":"info","message":"GET /experiments/78728f5f-8d59-4c0b-9c7a-c0cd97a8b739 200 14ms","method":"GET","requestID":"da840c9fb00383b20cd19e65c3df73f8","responseTime":14,"status":200,"url":"/experiments/78728f5f-8d59-4c0b-9c7a-c0cd97a8b739"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0N30.IOCILM1g368WOw3oU5o5ZuH-fXFu8Urk-5J_Eb4z-ow","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5d3851abfa69f16c85f65316274e21f3","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/78728f5f-8d59-4c0b-9c7a-c0cd97a8b739"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:47Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.307839,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:47Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/78728f5f-8d59-4c0b-9c7a-c0cd97a8b739","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/78728f5f-8d59-4c0b-9c7a-c0cd97a8b739","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445747,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0N30.IOCILM1g368WOw3oU5o5ZuH-fXFu8Urk-5J_Eb4z-ow"} 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":"5d3851abfa69f16c85f65316274e21f3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78728f5f-8d59-4c0b-9c7a-c0cd97a8b739"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:47Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.826054,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:47Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/026a219d-2338-48af-94a0-c7a71b6f4d93","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:http://localhost/peerconnections/026a219d-2338-48af-94a0-c7a71b6f4d93","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445747,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0N30.IOCILM1g368WOw3oU5o5ZuH-fXFu8Urk-5J_Eb4z-ow"} 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":"fbcd4b20-3d2e-11ef-b932-e1799b48160b"},"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/026a219d-2338-48af-94a0-c7a71b6f4d93' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/026a219d-2338-48af-94a0-c7a71b6f4d93' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"026a219d-2338-48af-94a0-c7a71b6f4d93","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c80a620e81844e60b5923e8eab436e05","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F026a219d-2338-48af-94a0-c7a71b6f4d93': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F026a219d-2338-48af-94a0-c7a71b6f4d93","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"173366ec-0163-4a3f-bebd-56dd7f3cfa35","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445747.441159} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/98ac6217-3cd6-4aee-b8be-04caa41905bb"},{"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/a8f829d5-9cb4-4516-bee7-4a434bdd9f11"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/026a219d-2338-48af-94a0-c7a71b6f4d93"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"98a0ff7556a728611067bba8b44a0c46","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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6b10cace-29c4-430d-b8aa-6422213861a8","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445747.4419034} 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/98ac6217-3cd6-4aee-b8be-04caa41905bb"},{"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/a8f829d5-9cb4-4516-bee7-4a434bdd9f11"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/026a219d-2338-48af-94a0-c7a71b6f4d93"}}},"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":"fbcd4b20-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"data":{"peerconnection":"026a219d-2338-48af-94a0-c7a71b6f4d93","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/026a219d-2338-48af-94a0-c7a71b6f4d93 204 47ms","method":"DELETE","requestID":"fbcd4b20-3d2e-11ef-b932-e1799b48160b","responseTime":47,"status":204,"url":"/peerconnections/026a219d-2338-48af-94a0-c7a71b6f4d93"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78728f5f-8d59-4c0b-9c7a-c0cd97a8b739"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:47Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98ac6217-3cd6-4aee-b8be-04caa41905bb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6d26627f-420b-4998-b950-0a2441a9b753","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445747.4848557} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.264071,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/98ac6217-3cd6-4aee-b8be-04caa41905bb","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/98ac6217-3cd6-4aee-b8be-04caa41905bb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fbd7f980-3d2e-11ef-b932-e1799b48160b"},"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/98ac6217-3cd6-4aee-b8be-04caa41905bb/signaling 200 9ms","method":"POST","requestID":"fbd7f980-3d2e-11ef-b932-e1799b48160b","responseTime":9,"status":200,"url":"/devices/98ac6217-3cd6-4aee-b8be-04caa41905bb/signaling"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F78728f5f-8d59-4c0b-9c7a-c0cd97a8b739': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F78728f5f-8d59-4c0b-9c7a-c0cd97a8b739","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"38b00ab2-52d6-4926-9399-b16fda2c3d49","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445747.4912405} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5f00d5ae-1cfa-46d4-8e78-c8460c643688","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445747.4914703} 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":"5d3851abfa69f16c85f65316274e21f3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:47Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8f829d5-9cb4-4516-bee7-4a434bdd9f11","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d6df1d8d-5645-4487-9b3b-006f2531f9b6","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445747.4967322} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.350606,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fbd9a730-3d2e-11ef-b932-e1799b48160b"},"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/a8f829d5-9cb4-4516-bee7-4a434bdd9f11/signaling 200 12ms","method":"POST","requestID":"fbd9a730-3d2e-11ef-b932-e1799b48160b","responseTime":12,"status":200,"url":"/devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/78728f5f-8d59-4c0b-9c7a-c0cd97a8b739"} gateway-1 | {"time_local":"08/Jul/2024:13:35:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/78728f5f-8d59-4c0b-9c7a-c0cd97a8b739 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.168","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5d3851abfa69f16c85f65316274e21f3"} experiment-1 | {"level":"info","message":"DELETE /experiments/78728f5f-8d59-4c0b-9c7a-c0cd97a8b739 204 164ms","method":"DELETE","requestID":"5d3851abfa69f16c85f65316274e21f3","responseTime":164,"status":204,"url":"/experiments/78728f5f-8d59-4c0b-9c7a-c0cd97a8b739"} gateway-1 | {"time_local":"08/Jul/2024:13:35:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2747","request_time":"2.630","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"0a44a3116a0c84725fc58328b357ebd7"} gateway-1 | {"time_local":"08/Jul/2024:13:35:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2745","request_time":"2.642","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a22a1d2b239b4b398e66ebc2fe965454"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 119ms","method":"POST","requestID":"c80a620e81844e60b5923e8eab436e05","responseTime":119,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.124","http_referrer":"","http_user_agent":"node-fetch","requestID":"c80a620e81844e60b5923e8eab436e05"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 118ms","method":"POST","requestID":"98a0ff7556a728611067bba8b44a0c46","responseTime":118,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.125","http_referrer":"","http_user_agent":"node-fetch","requestID":"98a0ff7556a728611067bba8b44a0c46"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0N30.IOCILM1g368WOw3oU5o5ZuH-fXFu8Urk-5J_Eb4z-ow","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"476df11c955f4be37a3853accce88d0d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a8f829d5-9cb4-4516-bee7-4a434bdd9f11' closed"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:47Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.911194,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445747,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0N30.IOCILM1g368WOw3oU5o5ZuH-fXFu8Urk-5J_Eb4z-ow"} 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":"476df11c955f4be37a3853accce88d0d"},"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/98ac6217-3cd6-4aee-b8be-04caa41905bb' 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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32c859b0-f1c4-41dd-97b3-25b307add391","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a2e36c68-254c-4084-9bf1-d1834ae6e43f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445747.5881767} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"476df11c955f4be37a3853accce88d0d"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"68dae46b-e67c-483f-abbd-0fa916c5887d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445747.5946014} 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":"476df11c955f4be37a3853accce88d0d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32c859b0-f1c4-41dd-97b3-25b307add391","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"615837b8-98b8-45f2-ae1c-291887f27d0b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445747.6050212} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d0dd8693-2389-4589-b501-acab6eb3f3e8","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445747.6051164} 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":"476df11c955f4be37a3853accce88d0d"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32c859b0-f1c4-41dd-97b3-25b307add391","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32c859b0-f1c4-41dd-97b3-25b307add391","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:47.604990216Z"}]},"request_id":"56aaf4d2-ca85-428a-b3d6-de32374ece89","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445747.61036} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"476df11c955f4be37a3853accce88d0d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:47 +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":"476df11c955f4be37a3853accce88d0d"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"476df11c955f4be37a3853accce88d0d","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0N30.IOCILM1g368WOw3oU5o5ZuH-fXFu8Urk-5J_Eb4z-ow","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0b05b119ad9d1a23cbe6ca0b42e0654b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:47Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.945903,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445747,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0N30.IOCILM1g368WOw3oU5o5ZuH-fXFu8Urk-5J_Eb4z-ow"} 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":"0b05b119ad9d1a23cbe6ca0b42e0654b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"411d08ff-9524-495e-9046-a4315d51d8d1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445747.6375825} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b05b119ad9d1a23cbe6ca0b42e0654b"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"815128a0-4135-43d2-9bd3-064203a3bd36","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445747.6432965} 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":"0b05b119ad9d1a23cbe6ca0b42e0654b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"e37c808c-f846-454f-b852-75d0145d4bb5","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445747.6591005} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"263fd345-e4eb-4570-b956-2110d055e8ba","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445747.6592147} 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":"0b05b119ad9d1a23cbe6ca0b42e0654b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:47.659065502Z"}]},"request_id":"1aa722ec-1396-4302-ac4f-53117929fd8c","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445747.6639972} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b05b119ad9d1a23cbe6ca0b42e0654b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:47 +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":"0b05b119ad9d1a23cbe6ca0b42e0654b"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"0b05b119ad9d1a23cbe6ca0b42e0654b","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"88e67a45966ea9cbfb8a7809161ea5a7","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:35:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/32c859b0-f1c4-41dd-97b3-25b307add391/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":"88e67a45966ea9cbfb8a7809161ea5a7"} device-1 | {"level":"info","message":"OPTIONS /devices/32c859b0-f1c4-41dd-97b3-25b307add391/websocket 200 1ms","method":"OPTIONS","requestID":"88e67a45966ea9cbfb8a7809161ea5a7","responseTime":1,"status":200,"url":"/devices/32c859b0-f1c4-41dd-97b3-25b307add391/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d215c8a661e73d7a410acdbc24876737","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0OX0.-dSUdizJygxHkDoCRWYGn7WSlvSkfcghYLykMA8C9M8","level":"info","message":"auth send jwt"} gateway-1 | {"time_local":"08/Jul/2024:13:35:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14/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":"d215c8a661e73d7a410acdbc24876737"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"04b84c3723b1f367a69995b21004e5f5","responseTime":8,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14/websocket 200 0ms","method":"OPTIONS","requestID":"d215c8a661e73d7a410acdbc24876737","responseTime":0,"status":200,"url":"/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:49Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.844918,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/32c859b0-f1c4-41dd-97b3-25b307add391","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/32c859b0-f1c4-41dd-97b3-25b307add391","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445749,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0OX0.-dSUdizJygxHkDoCRWYGn7WSlvSkfcghYLykMA8C9M8"} 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":"04b84c3723b1f367a69995b21004e5f5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0OX0.-dSUdizJygxHkDoCRWYGn7WSlvSkfcghYLykMA8C9M8","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} authentication-1 | {"level":"info","message":"GET /auth 200 13ms","method":"GET","requestID":"37dda19b399fa97da71c17178f81166e","responseTime":13,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:35:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/32c859b0-f1c4-41dd-97b3-25b307add391/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"04b84c3723b1f367a69995b21004e5f5"} device-1 | {"level":"info","message":"POST /devices/32c859b0-f1c4-41dd-97b3-25b307add391/websocket 200 18ms","method":"POST","requestID":"04b84c3723b1f367a69995b21004e5f5","responseTime":18,"status":200,"url":"/devices/32c859b0-f1c4-41dd-97b3-25b307add391/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:49Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.681649,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445749,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0OX0.-dSUdizJygxHkDoCRWYGn7WSlvSkfcghYLykMA8C9M8"} 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":"37dda19b399fa97da71c17178f81166e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.032","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"37dda19b399fa97da71c17178f81166e"} device-1 | {"level":"info","message":"POST /devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14/websocket 200 17ms","method":"POST","requestID":"37dda19b399fa97da71c17178f81166e","responseTime":17,"status":200,"url":"/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/32c859b0-f1c4-41dd-97b3-25b307add391' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0OX0.-dSUdizJygxHkDoCRWYGn7WSlvSkfcghYLykMA8C9M8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"984c20b448464ae7a71db220fa95bf79","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:49Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.230721,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/32c859b0-f1c4-41dd-97b3-25b307add391","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/32c859b0-f1c4-41dd-97b3-25b307add391","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445749,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0OX0.-dSUdizJygxHkDoCRWYGn7WSlvSkfcghYLykMA8C9M8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"984c20b448464ae7a71db220fa95bf79"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32c859b0-f1c4-41dd-97b3-25b307add391","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32c859b0-f1c4-41dd-97b3-25b307add391","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:47.604990216Z"}]},"request_id":"0cf45208-3ad2-4f4a-a289-61984e489e95","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445749.7109218} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"984c20b448464ae7a71db220fa95bf79"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/32c859b0-f1c4-41dd-97b3-25b307add391? 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":"984c20b448464ae7a71db220fa95bf79"} device-1 | {"level":"info","message":"GET /devices/32c859b0-f1c4-41dd-97b3-25b307add391? 200 17ms","method":"GET","requestID":"984c20b448464ae7a71db220fa95bf79","responseTime":17,"status":200,"url":"/devices/32c859b0-f1c4-41dd-97b3-25b307add391?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0OX0.-dSUdizJygxHkDoCRWYGn7WSlvSkfcghYLykMA8C9M8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e7e8a195784e6ffa7a35870a8404b2e2","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:49Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.313656,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445749,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0OX0.-dSUdizJygxHkDoCRWYGn7WSlvSkfcghYLykMA8C9M8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e7e8a195784e6ffa7a35870a8404b2e2"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:47.659065502Z"}]},"request_id":"34d0e0f9-6e3f-4193-8812-00351cce4187","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445749.7346199} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e7e8a195784e6ffa7a35870a8404b2e2"},"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/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14? 200 17ms","method":"GET","requestID":"e7e8a195784e6ffa7a35870a8404b2e2","responseTime":17,"status":200,"url":"/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14?"} gateway-1 | {"time_local":"08/Jul/2024:13:35:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14? 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":"e7e8a195784e6ffa7a35870a8404b2e2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0OX0.-dSUdizJygxHkDoCRWYGn7WSlvSkfcghYLykMA8C9M8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1f2281d4e779f7ca7fe07a577c82b744","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:58630","level":"info","msg":"Received request.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:49Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.356596,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445749,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0OX0.-dSUdizJygxHkDoCRWYGn7WSlvSkfcghYLykMA8C9M8"} 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":"1f2281d4e779f7ca7fe07a577c82b744"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8d661b33-a865-4529-a7a4-76a7ccefd297"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8d661b33-a865-4529-a7a4-76a7ccefd297"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8d661b33-a865-4529-a7a4-76a7ccefd297"},"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:58630","level":"info","msg":"Received request.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:49Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.129803,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/32c859b0-f1c4-41dd-97b3-25b307add391","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/32c859b0-f1c4-41dd-97b3-25b307add391","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445749,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0OX0.-dSUdizJygxHkDoCRWYGn7WSlvSkfcghYLykMA8C9M8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fd395e40-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:45766","level":"info","msg":"Received request.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:49Z"} authorization-1 | {"client_addr":"127.0.0.1:45766","level":"info","msg":"Sent response.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.958941,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445749,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0OX0.-dSUdizJygxHkDoCRWYGn7WSlvSkfcghYLykMA8C9M8"} 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":"fd398550-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32c859b0-f1c4-41dd-97b3-25b307add391","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32c859b0-f1c4-41dd-97b3-25b307add391","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:47.604990216Z"}]},"request_id":"a27cae93-c38c-43a5-ad0c-473fe42f8c56","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445749.8095243} 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":"fd395e40-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:47.659065502Z"}]},"request_id":"d2419a31-7014-4667-b31e-bc2c7ca7c92a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445749.8146951} device-1 | {"level":"info","message":"GET /devices/32c859b0-f1c4-41dd-97b3-25b307add391? 200 19ms","method":"GET","requestID":"fd395e40-3d2e-11ef-b932-e1799b48160b","responseTime":19,"status":200,"url":"/devices/32c859b0-f1c4-41dd-97b3-25b307add391?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fd398550-3d2e-11ef-b932-e1799b48160b"},"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/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14? 200 22ms","method":"GET","requestID":"fd398550-3d2e-11ef-b932-e1799b48160b","responseTime":22,"status":200,"url":"/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8d661b33-a865-4529-a7a4-76a7ccefd297"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8d661b33-a865-4529-a7a4-76a7ccefd297"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8d661b33-a865-4529-a7a4-76a7ccefd297"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8d661b33-a865-4529-a7a4-76a7ccefd297"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8d661b33-a865-4529-a7a4-76a7ccefd297"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8d661b33-a865-4529-a7a4-76a7ccefd297"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8d661b33-a865-4529-a7a4-76a7ccefd297"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8d661b33-a865-4529-a7a4-76a7ccefd297"},"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/8d661b33-a865-4529-a7a4-76a7ccefd297"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:49Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.48617,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:49Z"} authorization-1 | {"client_addr":"127.0.0.1:45766","level":"info","msg":"Received request.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/32c859b0-f1c4-41dd-97b3-25b307add391","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/32c859b0-f1c4-41dd-97b3-25b307add391","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445749,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0OX0.-dSUdizJygxHkDoCRWYGn7WSlvSkfcghYLykMA8C9M8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fd44cff0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:45766","level":"info","msg":"Sent response.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.990646,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445749,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0OX0.-dSUdizJygxHkDoCRWYGn7WSlvSkfcghYLykMA8C9M8"} 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":"fd451e10-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:45776","level":"info","msg":"Received request.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:49Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:47.659065502Z"}]},"request_id":"ef8e187e-aba5-422d-8483-aed88ee48822","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445749.8888319} 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":"fd451e10-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32c859b0-f1c4-41dd-97b3-25b307add391","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32c859b0-f1c4-41dd-97b3-25b307add391","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:47.604990216Z"}]},"request_id":"652a96b0-6548-4d93-b1ea-c69053fb86b8","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445749.890958} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32c859b0-f1c4-41dd-97b3-25b307add391","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a940a3d5-bd96-4bc0-baa6-91a91d5eecfa","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445749.891916} 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":"fd44cff0-3d2e-11ef-b932-e1799b48160b"},"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:45776","level":"info","msg":"Sent response.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.370463,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/32c859b0-f1c4-41dd-97b3-25b307add391","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/32c859b0-f1c4-41dd-97b3-25b307add391","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fd456c30-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14? 200 27ms","method":"GET","requestID":"fd451e10-3d2e-11ef-b932-e1799b48160b","responseTime":27,"status":200,"url":"/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/32c859b0-f1c4-41dd-97b3-25b307add391? 200 30ms","method":"GET","requestID":"fd44cff0-3d2e-11ef-b932-e1799b48160b","responseTime":30,"status":200,"url":"/devices/32c859b0-f1c4-41dd-97b3-25b307add391?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8d661b33-a865-4529-a7a4-76a7ccefd297#owner@http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8d661b33-a865-4529-a7a4-76a7ccefd297","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"2fff17d5-18e5-407f-bdfe-34f87e8dfc8b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445749.9020731} device-1 | {"level":"info","message":"POST /devices/32c859b0-f1c4-41dd-97b3-25b307add391/signaling 200 27ms","method":"POST","requestID":"fd456c30-3d2e-11ef-b932-e1799b48160b","responseTime":27,"status":200,"url":"/devices/32c859b0-f1c4-41dd-97b3-25b307add391/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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a6c6a822-2cf6-4eba-8dca-76165680701e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445749.9024513} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1f2281d4e779f7ca7fe07a577c82b744"},"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:58630","level":"info","msg":"Received request.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:49Z"} authorization-1 | {"client_addr":"127.0.0.1:45766","level":"info","msg":"Received request.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:49Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32c859b0-f1c4-41dd-97b3-25b307add391","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0ec479ff-3710-49fd-93a5-9d0788635b5c","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445749.9123201} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.769905,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/32c859b0-f1c4-41dd-97b3-25b307add391","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/32c859b0-f1c4-41dd-97b3-25b307add391","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/8d661b33-a865-4529-a7a4-76a7ccefd297","user":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fd49d900-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cf37cadd-5389-40d0-b63c-27f0e6f34fe2","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445749.9135048} gateway-1 | {"time_local":"08/Jul/2024:13:35:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.173","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1f2281d4e779f7ca7fe07a577c82b744"} authorization-1 | {"client_addr":"127.0.0.1:45766","level":"info","msg":"Sent response.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.521581,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:49Z"} experiment-1 | {"level":"info","message":"POST /experiments? 201 167ms","method":"POST","requestID":"1f2281d4e779f7ca7fe07a577c82b744","responseTime":167,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","object_type":"device","rebac_allow":false,"scope_allow":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":"fd4a2720-3d2e-11ef-b932-e1799b48160b"},"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/32c859b0-f1c4-41dd-97b3-25b307add391/signaling 200 16ms","method":"POST","requestID":"fd49d900-3d2e-11ef-b932-e1799b48160b","responseTime":16,"status":200,"url":"/devices/32c859b0-f1c4-41dd-97b3-25b307add391/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14/signaling 200 15ms","method":"POST","requestID":"fd4a2720-3d2e-11ef-b932-e1799b48160b","responseTime":15,"status":200,"url":"/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0OX0.-dSUdizJygxHkDoCRWYGn7WSlvSkfcghYLykMA8C9M8","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"5134e0b08ad5331a95d5bf772f5f1da3","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:49Z"} authorization-1 | {"client_addr":"127.0.0.1:45766","level":"info","msg":"Received request.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:49Z"} authorization-1 | {"client_addr":"127.0.0.1:45766","level":"info","msg":"Sent response.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.067482,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:49Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"19248ddd-0a24-41fa-9073-db754382bbce","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445749.9312556} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/32c859b0-f1c4-41dd-97b3-25b307add391","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/32c859b0-f1c4-41dd-97b3-25b307add391","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445749,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0OX0.-dSUdizJygxHkDoCRWYGn7WSlvSkfcghYLykMA8C9M8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5134e0b08ad5331a95d5bf772f5f1da3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.052844,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","object_type":"device","rebac_allow":false,"scope_allow":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":"fd4ce640-3d2e-11ef-b932-e1799b48160b"},"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/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14/signaling 200 16ms","method":"POST","requestID":"fd4ce640-3d2e-11ef-b932-e1799b48160b","responseTime":16,"status":200,"url":"/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14/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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32c859b0-f1c4-41dd-97b3-25b307add391","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32c859b0-f1c4-41dd-97b3-25b307add391","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:47.604990216Z"}]},"request_id":"8fd8dfa3-d396-46a4-a651-5d67b41d415b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445749.9406574} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8d661b33-a865-4529-a7a4-76a7ccefd297"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8d661b33-a865-4529-a7a4-76a7ccefd297"},"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":"98824674-78e0-4267-9889-666353dd7b21"},{"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":"41f232fa-090e-45e9-adee-e1b89770a30b"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"a998290b-6f43-471b-9b32-118826f7be5f"}]},"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/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14"},{"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/32c859b0-f1c4-41dd-97b3-25b307add391"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5134e0b08ad5331a95d5bf772f5f1da3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/32c859b0-f1c4-41dd-97b3-25b307add391? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5134e0b08ad5331a95d5bf772f5f1da3"} device-1 | {"level":"info","message":"GET /devices/32c859b0-f1c4-41dd-97b3-25b307add391? 200 19ms","method":"GET","requestID":"5134e0b08ad5331a95d5bf772f5f1da3","responseTime":19,"status":200,"url":"/devices/32c859b0-f1c4-41dd-97b3-25b307add391?"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:49Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.784316,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445749,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0OX0.-dSUdizJygxHkDoCRWYGn7WSlvSkfcghYLykMA8C9M8"} 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":"fd4fcc70-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0OX0.-dSUdizJygxHkDoCRWYGn7WSlvSkfcghYLykMA8C9M8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"545084c541f245a34ec38607a3f83208","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:49Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.763556,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445749,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc0OX0.-dSUdizJygxHkDoCRWYGn7WSlvSkfcghYLykMA8C9M8"} 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":"545084c541f245a34ec38607a3f83208"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","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%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"39e9f4b4-bcee-4ab7-9821-0751bc35b36e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445749.9562407} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5f4d3680-ec26-4c71-b20f-c7912f598245","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445749.956593} 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":"fd4fcc70-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:47.659065502Z"}]},"request_id":"1db97b15-3aa9-449c-9c14-bca4db740454","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445749.9606304} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"545084c541f245a34ec38607a3f83208"},"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/6d6c6d46-6b73-45b4-b6e7-ab159cfd64bd'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/6d6c6d46-6b73-45b4-b6e7-ab159cfd64bd'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 29ms","method":"POST","requestID":"fd4fcc70-3d2e-11ef-b932-e1799b48160b","responseTime":29,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14? 200 21ms","method":"GET","requestID":"545084c541f245a34ec38607a3f83208","responseTime":21,"status":200,"url":"/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14?"} gateway-1 | {"time_local":"08/Jul/2024:13:35:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14? 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":"545084c541f245a34ec38607a3f83208"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8d661b33-a865-4529-a7a4-76a7ccefd297"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:50Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32c859b0-f1c4-41dd-97b3-25b307add391","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b72fc1b3-cfec-44ed-b2fc-c6e79f4d56ef","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445750.007334} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.786356,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/32c859b0-f1c4-41dd-97b3-25b307add391","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/32c859b0-f1c4-41dd-97b3-25b307add391","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fd58cd20-3d2e-11ef-b932-e1799b48160b"},"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/32c859b0-f1c4-41dd-97b3-25b307add391/signaling 200 11ms","method":"POST","requestID":"fd58cd20-3d2e-11ef-b932-e1799b48160b","responseTime":11,"status":200,"url":"/devices/32c859b0-f1c4-41dd-97b3-25b307add391/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:50Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"86938509-d813-476c-a393-5e36ef502eed","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445750.020878} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.250801,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fd5ac8f0-3d2e-11ef-b932-e1799b48160b"},"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/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14/signaling 200 10ms","method":"POST","requestID":"fd5ac8f0-3d2e-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/32c859b0-f1c4-41dd-97b3-25b307add391'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/6d6c6d46-6b73-45b4-b6e7-ab159cfd64bd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6d6c6d46-6b73-45b4-b6e7-ab159cfd64bd","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a4cfcab0a07fa498827decc09c776cf2","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14"},{"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/32c859b0-f1c4-41dd-97b3-25b307add391"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/6d6c6d46-6b73-45b4-b6e7-ab159cfd64bd"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"a4cfcab0a07fa498827decc09c776cf2","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"a4cfcab0a07fa498827decc09c776cf2"} device-1 | {"data":{"peerconnection":"6d6c6d46-6b73-45b4-b6e7-ab159cfd64bd","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"6d6c6d46-6b73-45b4-b6e7-ab159cfd64bd","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/6d6c6d46-6b73-45b4-b6e7-ab159cfd64bd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6d6c6d46-6b73-45b4-b6e7-ab159cfd64bd","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d1e75188db3e6e67ababe359dd65cf62","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/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14"},{"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/32c859b0-f1c4-41dd-97b3-25b307add391"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/6d6c6d46-6b73-45b4-b6e7-ab159cfd64bd"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:50Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6d6c6d46-6b73-45b4-b6e7-ab159cfd64bd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"86901a77-0643-4867-9c84-1f8d72174d64","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445750.0851216} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.032974,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6d6c6d46-6b73-45b4-b6e7-ab159cfd64bd","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/6d6c6d46-6b73-45b4-b6e7-ab159cfd64bd","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":"fd64db10-3d2e-11ef-b932-e1799b48160b"},"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/6d6c6d46-6b73-45b4-b6e7-ab159cfd64bd 200 7ms","method":"GET","requestID":"fd64db10-3d2e-11ef-b932-e1799b48160b","responseTime":7,"status":200,"url":"/peerconnections/6d6c6d46-6b73-45b4-b6e7-ab159cfd64bd"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 25ms","method":"POST","requestID":"d1e75188db3e6e67ababe359dd65cf62","responseTime":25,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch","requestID":"d1e75188db3e6e67ababe359dd65cf62"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:50Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9f60f07e-e495-4269-ba3f-8d1fb859f311","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445750.1067262} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.192588,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","object_type":"device","rebac_allow":false,"scope_allow":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":"fd680f60-3d2e-11ef-b932-e1799b48160b"},"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/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14/signaling 200 8ms","method":"POST","requestID":"fd680f60-3d2e-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:50Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32c859b0-f1c4-41dd-97b3-25b307add391","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7ded9ee5-db92-45b9-9527-7c3487835120","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445750.1154952} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":1.971738,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/32c859b0-f1c4-41dd-97b3-25b307add391","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/32c859b0-f1c4-41dd-97b3-25b307add391","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fd699600-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/32c859b0-f1c4-41dd-97b3-25b307add391/signaling 200 6ms","method":"POST","requestID":"fd699600-3d2e-11ef-b932-e1799b48160b","responseTime":6,"status":200,"url":"/devices/32c859b0-f1c4-41dd-97b3-25b307add391/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1MH0.1lIzc7RfXIj0Da5j-VmbUL4xDaqDj0Kla-DAeRh2rEE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"810d869d1f8e854fc064200d8d317265","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8d661b33-a865-4529-a7a4-76a7ccefd297"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:50Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.108848,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8d661b33-a865-4529-a7a4-76a7ccefd297","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/8d661b33-a865-4529-a7a4-76a7ccefd297","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445750,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1MH0.1lIzc7RfXIj0Da5j-VmbUL4xDaqDj0Kla-DAeRh2rEE"} 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":"810d869d1f8e854fc064200d8d317265"},"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/8d661b33-a865-4529-a7a4-76a7ccefd297"} gateway-1 | {"time_local":"08/Jul/2024:13:35:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8d661b33-a865-4529-a7a4-76a7ccefd297 HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"810d869d1f8e854fc064200d8d317265"} experiment-1 | {"level":"info","message":"GET /experiments/8d661b33-a865-4529-a7a4-76a7ccefd297 200 11ms","method":"GET","requestID":"810d869d1f8e854fc064200d8d317265","responseTime":11,"status":200,"url":"/experiments/8d661b33-a865-4529-a7a4-76a7ccefd297"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1MH0.1lIzc7RfXIj0Da5j-VmbUL4xDaqDj0Kla-DAeRh2rEE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e90b0a6b775818e4a84f241efb3e272a","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/8d661b33-a865-4529-a7a4-76a7ccefd297"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:50Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.703143,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:50Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8d661b33-a865-4529-a7a4-76a7ccefd297","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/8d661b33-a865-4529-a7a4-76a7ccefd297","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445750,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1MH0.1lIzc7RfXIj0Da5j-VmbUL4xDaqDj0Kla-DAeRh2rEE"} 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":"e90b0a6b775818e4a84f241efb3e272a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8d661b33-a865-4529-a7a4-76a7ccefd297"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:50Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":2.060997,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:50Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6d6c6d46-6b73-45b4-b6e7-ab159cfd64bd","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:http://localhost/peerconnections/6d6c6d46-6b73-45b4-b6e7-ab159cfd64bd","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445750,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1MH0.1lIzc7RfXIj0Da5j-VmbUL4xDaqDj0Kla-DAeRh2rEE"} 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":"fd74e0a0-3d2e-11ef-b932-e1799b48160b"},"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/6d6c6d46-6b73-45b4-b6e7-ab159cfd64bd' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/6d6c6d46-6b73-45b4-b6e7-ab159cfd64bd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6d6c6d46-6b73-45b4-b6e7-ab159cfd64bd","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a9efc056181054775be490c6cbbd78f5","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6d6c6d46-6b73-45b4-b6e7-ab159cfd64bd': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6d6c6d46-6b73-45b4-b6e7-ab159cfd64bd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"3b1df109-4b31-40eb-a080-a72c084d1895","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445750.209298} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c04c29d3-6aa5-45c7-8c74-9b0ab2078529","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445750.2094638} 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/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14"},{"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/32c859b0-f1c4-41dd-97b3-25b307add391"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6d6c6d46-6b73-45b4-b6e7-ab159cfd64bd"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4787704d91b24be8e6ef95e7a2a7b497","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14"},{"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/32c859b0-f1c4-41dd-97b3-25b307add391"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6d6c6d46-6b73-45b4-b6e7-ab159cfd64bd"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fd74e0a0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"data":{"peerconnection":"6d6c6d46-6b73-45b4-b6e7-ab159cfd64bd","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/6d6c6d46-6b73-45b4-b6e7-ab159cfd64bd 204 40ms","method":"DELETE","requestID":"fd74e0a0-3d2e-11ef-b932-e1799b48160b","responseTime":40,"status":204,"url":"/peerconnections/6d6c6d46-6b73-45b4-b6e7-ab159cfd64bd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8d661b33-a865-4529-a7a4-76a7ccefd297"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:50Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c6fddb75-a45a-47e5-9282-6cd972c4242b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445750.25347} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.774668,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fd7e2f70-3d2e-11ef-b932-e1799b48160b"},"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/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14/signaling 200 12ms","method":"POST","requestID":"fd7e2f70-3d2e-11ef-b932-e1799b48160b","responseTime":12,"status":200,"url":"/devices/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8d661b33-a865-4529-a7a4-76a7ccefd297': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8d661b33-a865-4529-a7a4-76a7ccefd297","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"feb9a532-75bd-4887-82cc-fb1e8f5f3f00","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445750.2646837} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8baba31e-9ca0-4551-b4eb-e54810be9127","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445750.2650418} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:50Z"} 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":"e90b0a6b775818e4a84f241efb3e272a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":22}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32c859b0-f1c4-41dd-97b3-25b307add391","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2be1eb35-91c6-45d8-8e8a-d36f3423c19f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445750.268426} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.578805,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/32c859b0-f1c4-41dd-97b3-25b307add391","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/32c859b0-f1c4-41dd-97b3-25b307add391","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fd807960-3d2e-11ef-b932-e1799b48160b"},"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/32c859b0-f1c4-41dd-97b3-25b307add391/signaling 200 12ms","method":"POST","requestID":"fd807960-3d2e-11ef-b932-e1799b48160b","responseTime":12,"status":200,"url":"/devices/32c859b0-f1c4-41dd-97b3-25b307add391/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/8d661b33-a865-4529-a7a4-76a7ccefd297"} gateway-1 | {"time_local":"08/Jul/2024:13:35:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/8d661b33-a865-4529-a7a4-76a7ccefd297 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.160","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e90b0a6b775818e4a84f241efb3e272a"} experiment-1 | {"level":"info","message":"DELETE /experiments/8d661b33-a865-4529-a7a4-76a7ccefd297 204 158ms","method":"DELETE","requestID":"e90b0a6b775818e4a84f241efb3e272a","responseTime":158,"status":204,"url":"/experiments/8d661b33-a865-4529-a7a4-76a7ccefd297"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 123ms","method":"POST","requestID":"a9efc056181054775be490c6cbbd78f5","responseTime":123,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.127","http_referrer":"","http_user_agent":"node-fetch","requestID":"a9efc056181054775be490c6cbbd78f5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 122ms","method":"POST","requestID":"4787704d91b24be8e6ef95e7a2a7b497","responseTime":122,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.127","http_referrer":"","http_user_agent":"node-fetch","requestID":"4787704d91b24be8e6ef95e7a2a7b497"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1MH0.1lIzc7RfXIj0Da5j-VmbUL4xDaqDj0Kla-DAeRh2rEE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"85c25adb0090175d7c0cf6d00bb71366","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:13:35:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2848","request_time":"0.677","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e70f422c699485a62d54712d3672f867"} gateway-1 | {"time_local":"08/Jul/2024:13:35:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2847","request_time":"0.660","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7010839db8cf28464f3966b4f39b07aa"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:50Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.859345,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445750,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1MH0.1lIzc7RfXIj0Da5j-VmbUL4xDaqDj0Kla-DAeRh2rEE"} 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":"85c25adb0090175d7c0cf6d00bb71366"},"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/50c8eaba-3b34-4fcf-9967-8d4b3cbe7c14' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/32c859b0-f1c4-41dd-97b3-25b307add391' 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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafb2c8a0-3781-4723-952c-b77a61c568a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f49bcfb0-17fa-4a56-93c0-6e47f15e8782","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445750.3593812} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"85c25adb0090175d7c0cf6d00bb71366"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9434dfb3-dd23-47ca-abb6-f6755d6ef62a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445750.363183} 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":"85c25adb0090175d7c0cf6d00bb71366"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafb2c8a0-3781-4723-952c-b77a61c568a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"6d953e0d-8996-4973-b542-15eaa7165d23","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445750.37862} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8c36e3a4-c40c-473a-aca7-f9141e58b13a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445750.378862} 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":"85c25adb0090175d7c0cf6d00bb71366"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafb2c8a0-3781-4723-952c-b77a61c568a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafb2c8a0-3781-4723-952c-b77a61c568a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:50.378594564Z"}]},"request_id":"5cebdb32-676f-4156-8c8d-96d9229c8571","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445750.3825157} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"85c25adb0090175d7c0cf6d00bb71366"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:50 +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":"85c25adb0090175d7c0cf6d00bb71366"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"85c25adb0090175d7c0cf6d00bb71366","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1MH0.1lIzc7RfXIj0Da5j-VmbUL4xDaqDj0Kla-DAeRh2rEE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dd7f0f3f0927f490288282447a632b2a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:50Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.648598,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445750,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1MH0.1lIzc7RfXIj0Da5j-VmbUL4xDaqDj0Kla-DAeRh2rEE"} 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":"dd7f0f3f0927f490288282447a632b2a"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7295728-9a2f-4b3b-9c59-b83a3eac9f4f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2437952c-f5f7-4c2e-b1fd-21bcc0f92a75","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445750.4059877} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dd7f0f3f0927f490288282447a632b2a"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d2fa214d-0414-48d2-a562-aa890df8413e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445750.4100952} 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":"dd7f0f3f0927f490288282447a632b2a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7295728-9a2f-4b3b-9c59-b83a3eac9f4f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"cc093b27-ff18-4949-8ae5-f63577a28345","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445750.4195101} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e55fdf63-9ff3-4477-a7d1-c68f82979bb9","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445750.419633} 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":"dd7f0f3f0927f490288282447a632b2a"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7295728-9a2f-4b3b-9c59-b83a3eac9f4f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7295728-9a2f-4b3b-9c59-b83a3eac9f4f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:50.419479981Z"}]},"request_id":"bacf7caf-641c-4bc4-aa68-61b880e3ba99","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445750.4231498} 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":"dd7f0f3f0927f490288282447a632b2a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":1}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dd7f0f3f0927f490288282447a632b2a"} device-1 | {"level":"info","message":"POST /devices? 201 35ms","method":"POST","requestID":"dd7f0f3f0927f490288282447a632b2a","responseTime":35,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d044075908d7e1d7d078522477b977df","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:35:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/afb2c8a0-3781-4723-952c-b77a61c568a2/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":"d044075908d7e1d7d078522477b977df"} device-1 | {"level":"info","message":"OPTIONS /devices/afb2c8a0-3781-4723-952c-b77a61c568a2/websocket 200 1ms","method":"OPTIONS","requestID":"d044075908d7e1d7d078522477b977df","responseTime":1,"status":200,"url":"/devices/afb2c8a0-3781-4723-952c-b77a61c568a2/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1Mn0.Lt94RYZJV3nVZyR4ddUIXmboAgrpd-vXSxoaTlt3NG0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"927dc24b0d2e1124e56047adf2f5318e","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.355749,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/afb2c8a0-3781-4723-952c-b77a61c568a2","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/afb2c8a0-3781-4723-952c-b77a61c568a2","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445752,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1Mn0.Lt94RYZJV3nVZyR4ddUIXmboAgrpd-vXSxoaTlt3NG0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"927dc24b0d2e1124e56047adf2f5318e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f058b742b391ec99c4459eb78d434bd4","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:35:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f/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":"f058b742b391ec99c4459eb78d434bd4"} device-1 | {"level":"info","message":"OPTIONS /devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f/websocket 200 1ms","method":"OPTIONS","requestID":"f058b742b391ec99c4459eb78d434bd4","responseTime":1,"status":200,"url":"/devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1Mn0.Lt94RYZJV3nVZyR4ddUIXmboAgrpd-vXSxoaTlt3NG0","level":"info","message":"auth send jwt"} gateway-1 | {"time_local":"08/Jul/2024:13:35:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/afb2c8a0-3781-4723-952c-b77a61c568a2/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"927dc24b0d2e1124e56047adf2f5318e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4dbc6a20ee0f57e9cbe74fa650529922","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices/afb2c8a0-3781-4723-952c-b77a61c568a2/websocket 200 20ms","method":"POST","requestID":"927dc24b0d2e1124e56047adf2f5318e","responseTime":20,"status":200,"url":"/devices/afb2c8a0-3781-4723-952c-b77a61c568a2/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.819503,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445752,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1Mn0.Lt94RYZJV3nVZyR4ddUIXmboAgrpd-vXSxoaTlt3NG0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4dbc6a20ee0f57e9cbe74fa650529922"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.017","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4dbc6a20ee0f57e9cbe74fa650529922"} device-1 | {"level":"info","message":"POST /devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f/websocket 200 13ms","method":"POST","requestID":"4dbc6a20ee0f57e9cbe74fa650529922","responseTime":13,"status":200,"url":"/devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/afb2c8a0-3781-4723-952c-b77a61c568a2' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1Mn0.Lt94RYZJV3nVZyR4ddUIXmboAgrpd-vXSxoaTlt3NG0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"67cb1c731b22f1a334f4369d53cec3ef","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.143843,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/afb2c8a0-3781-4723-952c-b77a61c568a2","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/afb2c8a0-3781-4723-952c-b77a61c568a2","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445752,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1Mn0.Lt94RYZJV3nVZyR4ddUIXmboAgrpd-vXSxoaTlt3NG0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"67cb1c731b22f1a334f4369d53cec3ef"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafb2c8a0-3781-4723-952c-b77a61c568a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafb2c8a0-3781-4723-952c-b77a61c568a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:50.378594564Z"}]},"request_id":"47a6fd75-3b8f-4e47-aa44-55cfe1391b27","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445752.4246252} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"67cb1c731b22f1a334f4369d53cec3ef"},"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/afb2c8a0-3781-4723-952c-b77a61c568a2? 200 19ms","method":"GET","requestID":"67cb1c731b22f1a334f4369d53cec3ef","responseTime":19,"status":200,"url":"/devices/afb2c8a0-3781-4723-952c-b77a61c568a2?"} gateway-1 | {"time_local":"08/Jul/2024:13:35:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/afb2c8a0-3781-4723-952c-b77a61c568a2? 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":"67cb1c731b22f1a334f4369d53cec3ef"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1Mn0.Lt94RYZJV3nVZyR4ddUIXmboAgrpd-vXSxoaTlt3NG0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4ad13d22f2e42d58025a436d29cc2647","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.314462,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445752,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1Mn0.Lt94RYZJV3nVZyR4ddUIXmboAgrpd-vXSxoaTlt3NG0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ad13d22f2e42d58025a436d29cc2647"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7295728-9a2f-4b3b-9c59-b83a3eac9f4f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7295728-9a2f-4b3b-9c59-b83a3eac9f4f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:50.419479981Z"}]},"request_id":"7a0a76c7-8ea1-4fdd-a512-e52a15230685","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445752.4489357} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ad13d22f2e42d58025a436d29cc2647"},"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/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f? 200 16ms","method":"GET","requestID":"4ad13d22f2e42d58025a436d29cc2647","responseTime":16,"status":200,"url":"/devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f?"} gateway-1 | {"time_local":"08/Jul/2024:13:35:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f? 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":"4ad13d22f2e42d58025a436d29cc2647"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1Mn0.Lt94RYZJV3nVZyR4ddUIXmboAgrpd-vXSxoaTlt3NG0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b4df9402748d8acb502105c9ed029dde","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:58630","level":"info","msg":"Received request.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.090007,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445752,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1Mn0.Lt94RYZJV3nVZyR4ddUIXmboAgrpd-vXSxoaTlt3NG0"} 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":"b4df9402748d8acb502105c9ed029dde"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e9b7e5ca-8d7e-4178-81b4-ff4bf76be13a"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e9b7e5ca-8d7e-4178-81b4-ff4bf76be13a"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e9b7e5ca-8d7e-4178-81b4-ff4bf76be13a"},"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:58630","level":"info","msg":"Received request.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"client_addr":"127.0.0.1:45766","level":"info","msg":"Received request.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.87564,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/afb2c8a0-3781-4723-952c-b77a61c568a2","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/afb2c8a0-3781-4723-952c-b77a61c568a2","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445752,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1Mn0.Lt94RYZJV3nVZyR4ddUIXmboAgrpd-vXSxoaTlt3NG0"} 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":"fed5d030-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:45766","level":"info","msg":"Sent response.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.740176,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445752,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1Mn0.Lt94RYZJV3nVZyR4ddUIXmboAgrpd-vXSxoaTlt3NG0"} 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":"fed5f740-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafb2c8a0-3781-4723-952c-b77a61c568a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafb2c8a0-3781-4723-952c-b77a61c568a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:50.378594564Z"}]},"request_id":"4187bec5-b807-4ffb-adf0-894e4683b3b9","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445752.5073507} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fed5d030-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7295728-9a2f-4b3b-9c59-b83a3eac9f4f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7295728-9a2f-4b3b-9c59-b83a3eac9f4f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:50.419479981Z"}]},"request_id":"f4f5af12-ce02-4d6c-b9f4-bc7b98f147db","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445752.5086372} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fed5f740-3d2e-11ef-b932-e1799b48160b"},"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/afb2c8a0-3781-4723-952c-b77a61c568a2? 200 15ms","method":"GET","requestID":"fed5d030-3d2e-11ef-b932-e1799b48160b","responseTime":15,"status":200,"url":"/devices/afb2c8a0-3781-4723-952c-b77a61c568a2?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f? 200 15ms","method":"GET","requestID":"fed5f740-3d2e-11ef-b932-e1799b48160b","responseTime":15,"status":200,"url":"/devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e9b7e5ca-8d7e-4178-81b4-ff4bf76be13a"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e9b7e5ca-8d7e-4178-81b4-ff4bf76be13a"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e9b7e5ca-8d7e-4178-81b4-ff4bf76be13a"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e9b7e5ca-8d7e-4178-81b4-ff4bf76be13a"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e9b7e5ca-8d7e-4178-81b4-ff4bf76be13a"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e9b7e5ca-8d7e-4178-81b4-ff4bf76be13a"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e9b7e5ca-8d7e-4178-81b4-ff4bf76be13a"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e9b7e5ca-8d7e-4178-81b4-ff4bf76be13a"},"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/e9b7e5ca-8d7e-4178-81b4-ff4bf76be13a"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.397463,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"client_addr":"127.0.0.1:45766","level":"info","msg":"Received request.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/afb2c8a0-3781-4723-952c-b77a61c568a2","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/afb2c8a0-3781-4723-952c-b77a61c568a2","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445752,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1Mn0.Lt94RYZJV3nVZyR4ddUIXmboAgrpd-vXSxoaTlt3NG0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fedef7f0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:45766","level":"info","msg":"Sent response.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.515109,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"client_addr":"127.0.0.1:45776","level":"info","msg":"Received request.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445752,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1Mn0.Lt94RYZJV3nVZyR4ddUIXmboAgrpd-vXSxoaTlt3NG0"} 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":"fedf4610-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:45776","level":"info","msg":"Sent response.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.110431,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafb2c8a0-3781-4723-952c-b77a61c568a2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"121873e5-b381-4ad4-92af-74c20e8d1247","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445752.5707328} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/afb2c8a0-3781-4723-952c-b77a61c568a2","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/afb2c8a0-3781-4723-952c-b77a61c568a2","object_type":"device","rebac_allow":false,"scope_allow":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":"fedf6d20-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} 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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafb2c8a0-3781-4723-952c-b77a61c568a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafb2c8a0-3781-4723-952c-b77a61c568a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:50.378594564Z"}]},"request_id":"cdce0336-b1e3-42c3-a928-6e1ce068d64c","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445752.5746858} device-1 | {"level":"info","message":"POST /devices/afb2c8a0-3781-4723-952c-b77a61c568a2/signaling 200 16ms","method":"POST","requestID":"fedf6d20-3d2e-11ef-b932-e1799b48160b","responseTime":16,"status":200,"url":"/devices/afb2c8a0-3781-4723-952c-b77a61c568a2/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":"fedef7f0-3d2e-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7295728-9a2f-4b3b-9c59-b83a3eac9f4f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7295728-9a2f-4b3b-9c59-b83a3eac9f4f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:50.419479981Z"}]},"request_id":"d2894728-9b5e-4b35-8ee9-8a6afe737560","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445752.5789957} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fedf4610-3d2e-11ef-b932-e1799b48160b"},"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:58630","level":"info","msg":"Received request.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:52Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/afb2c8a0-3781-4723-952c-b77a61c568a2? 200 27ms","method":"GET","requestID":"fedef7f0-3d2e-11ef-b932-e1799b48160b","responseTime":27,"status":200,"url":"/devices/afb2c8a0-3781-4723-952c-b77a61c568a2?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f? 200 26ms","method":"GET","requestID":"fedf4610-3d2e-11ef-b932-e1799b48160b","responseTime":26,"status":200,"url":"/devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7295728-9a2f-4b3b-9c59-b83a3eac9f4f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a8b81e60-b969-4017-a042-78d892aa66ca","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445752.5875626} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.623487,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f","object_type":"device","rebac_allow":false,"scope_allow":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":"fee25350-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe9b7e5ca-8d7e-4178-81b4-ff4bf76be13a#owner@http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe9b7e5ca-8d7e-4178-81b4-ff4bf76be13a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"31dfa6a7-cdae-4698-aec3-7614a9068960","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445752.5908046} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"07ac808d-8310-4756-a30a-736d5e8fce73","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445752.5911665} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f/signaling 200 13ms","method":"POST","requestID":"fee25350-3d2e-11ef-b932-e1799b48160b","responseTime":13,"status":200,"url":"/devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b4df9402748d8acb502105c9ed029dde"},"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:58630","level":"info","msg":"Received request.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafb2c8a0-3781-4723-952c-b77a61c568a2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"952d7628-393d-4a48-a319-f5d857e17f06","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445752.5969536} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.110199,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/afb2c8a0-3781-4723-952c-b77a61c568a2","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/afb2c8a0-3781-4723-952c-b77a61c568a2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fee38bd0-3d2e-11ef-b932-e1799b48160b"},"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/afb2c8a0-3781-4723-952c-b77a61c568a2/signaling 200 12ms","method":"POST","requestID":"fee38bd0-3d2e-11ef-b932-e1799b48160b","responseTime":12,"status":200,"url":"/devices/afb2c8a0-3781-4723-952c-b77a61c568a2/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/e9b7e5ca-8d7e-4178-81b4-ff4bf76be13a","user":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/Jul/2024:13:35:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.147","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b4df9402748d8acb502105c9ed029dde"} experiment-1 | {"level":"info","message":"POST /experiments? 201 142ms","method":"POST","requestID":"b4df9402748d8acb502105c9ed029dde","responseTime":142,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1Mn0.Lt94RYZJV3nVZyR4ddUIXmboAgrpd-vXSxoaTlt3NG0","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:52Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2fd1d898d74187cad82f1b32bf18d0e9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7295728-9a2f-4b3b-9c59-b83a3eac9f4f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d2e19df8-5222-421f-bd26-e07aa61a2fd9","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445752.6092153} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.832985,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"client_addr":"127.0.0.1:45766","level":"info","msg":"Received request.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fee5d5c0-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:45766","level":"info","msg":"Sent response.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.582082,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/afb2c8a0-3781-4723-952c-b77a61c568a2","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/afb2c8a0-3781-4723-952c-b77a61c568a2","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445752,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1Mn0.Lt94RYZJV3nVZyR4ddUIXmboAgrpd-vXSxoaTlt3NG0"} 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":"2fd1d898d74187cad82f1b32bf18d0e9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f/signaling 200 10ms","method":"POST","requestID":"fee5d5c0-3d2e-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f/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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafb2c8a0-3781-4723-952c-b77a61c568a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafb2c8a0-3781-4723-952c-b77a61c568a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:50.378594564Z"}]},"request_id":"46f18c47-ba60-4eb1-bd33-d1cea437758e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445752.6149483} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e9b7e5ca-8d7e-4178-81b4-ff4bf76be13a"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e9b7e5ca-8d7e-4178-81b4-ff4bf76be13a"},"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":"3366e190-eb2d-4c9f-a314-76b8016dcc0b"},{"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":"7d57564a-8d27-4257-8dee-c89daf7991a6"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"9a67c5ec-c511-439e-93f4-f30c02be152e"}]},"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/afb2c8a0-3781-4723-952c-b77a61c568a2"},{"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/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2fd1d898d74187cad82f1b32bf18d0e9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/afb2c8a0-3781-4723-952c-b77a61c568a2? 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":"2fd1d898d74187cad82f1b32bf18d0e9"} device-1 | {"level":"info","message":"GET /devices/afb2c8a0-3781-4723-952c-b77a61c568a2? 200 11ms","method":"GET","requestID":"2fd1d898d74187cad82f1b32bf18d0e9","responseTime":11,"status":200,"url":"/devices/afb2c8a0-3781-4723-952c-b77a61c568a2?"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.963858,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445752,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1Mn0.Lt94RYZJV3nVZyR4ddUIXmboAgrpd-vXSxoaTlt3NG0"} 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":"fee7d190-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1Mn0.Lt94RYZJV3nVZyR4ddUIXmboAgrpd-vXSxoaTlt3NG0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c6ae775233dec1e08825fd92eba45105","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.545859,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445752,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1Mn0.Lt94RYZJV3nVZyR4ddUIXmboAgrpd-vXSxoaTlt3NG0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c6ae775233dec1e08825fd92eba45105"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","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%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"b9836ad3-3838-46ce-a1ce-d1e8b3318884","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445752.6298258} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"da7213cc-79c7-4132-bc7f-268183292bc0","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445752.6301663} 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":"fee7d190-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7295728-9a2f-4b3b-9c59-b83a3eac9f4f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7295728-9a2f-4b3b-9c59-b83a3eac9f4f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:50.419479981Z"}]},"request_id":"e46ff21f-691d-493f-9c5d-e62130548dc4","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445752.6336813} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c6ae775233dec1e08825fd92eba45105"},"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/af72d90a-e9de-4458-84cb-c3f04ecb4606'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/af72d90a-e9de-4458-84cb-c3f04ecb4606'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 29ms","method":"POST","requestID":"fee7d190-3d2e-11ef-b932-e1799b48160b","responseTime":29,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f? 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":"c6ae775233dec1e08825fd92eba45105"} device-1 | {"level":"info","message":"GET /devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f? 200 21ms","method":"GET","requestID":"c6ae775233dec1e08825fd92eba45105","responseTime":21,"status":200,"url":"/devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e9b7e5ca-8d7e-4178-81b4-ff4bf76be13a"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafb2c8a0-3781-4723-952c-b77a61c568a2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7be92f53-9716-4dc1-aa58-c3361467ba95","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445752.6754868} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.925549,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/afb2c8a0-3781-4723-952c-b77a61c568a2","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/afb2c8a0-3781-4723-952c-b77a61c568a2","object_type":"device","rebac_allow":false,"scope_allow":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":"fef00ef0-3d2e-11ef-b932-e1799b48160b"},"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/afb2c8a0-3781-4723-952c-b77a61c568a2/signaling 200 8ms","method":"POST","requestID":"fef00ef0-3d2e-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/devices/afb2c8a0-3781-4723-952c-b77a61c568a2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7295728-9a2f-4b3b-9c59-b83a3eac9f4f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aaf2dfec-7cb7-4108-b0df-0234b08ca4d5","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445752.6849341} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.445716,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f","object_type":"device","rebac_allow":false,"scope_allow":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":"fef19590-3d2e-11ef-b932-e1799b48160b"},"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/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f/signaling 200 7ms","method":"POST","requestID":"fef19590-3d2e-11ef-b932-e1799b48160b","responseTime":7,"status":200,"url":"/devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/afb2c8a0-3781-4723-952c-b77a61c568a2'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/afb2c8a0-3781-4723-952c-b77a61c568a2'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/af72d90a-e9de-4458-84cb-c3f04ecb4606' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"af72d90a-e9de-4458-84cb-c3f04ecb4606","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6ea46d6092a1f2688390feb0edb4d37b","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":"new","url":"http://localhost/devices/afb2c8a0-3781-4723-952c-b77a61c568a2"},{"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/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/af72d90a-e9de-4458-84cb-c3f04ecb4606"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"6ea46d6092a1f2688390feb0edb4d37b","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"6ea46d6092a1f2688390feb0edb4d37b"} device-1 | {"data":{"peerconnection":"af72d90a-e9de-4458-84cb-c3f04ecb4606","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"af72d90a-e9de-4458-84cb-c3f04ecb4606","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/af72d90a-e9de-4458-84cb-c3f04ecb4606' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"af72d90a-e9de-4458-84cb-c3f04ecb4606","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"50e48f2eaa7f8cf1c2372170f4fbea81","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/afb2c8a0-3781-4723-952c-b77a61c568a2"},{"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/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/af72d90a-e9de-4458-84cb-c3f04ecb4606"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Faf72d90a-e9de-4458-84cb-c3f04ecb4606","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2170fbc1-c0c7-4de0-bda1-e432cb8b20e8","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445752.7799892} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.156503,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/af72d90a-e9de-4458-84cb-c3f04ecb4606","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/af72d90a-e9de-4458-84cb-c3f04ecb4606","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":"ff001480-3d2e-11ef-b932-e1799b48160b"},"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/af72d90a-e9de-4458-84cb-c3f04ecb4606 200 7ms","method":"GET","requestID":"ff001480-3d2e-11ef-b932-e1799b48160b","responseTime":7,"status":200,"url":"/peerconnections/af72d90a-e9de-4458-84cb-c3f04ecb4606"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"50e48f2eaa7f8cf1c2372170f4fbea81","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.033","http_referrer":"","http_user_agent":"node-fetch","requestID":"50e48f2eaa7f8cf1c2372170f4fbea81"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafb2c8a0-3781-4723-952c-b77a61c568a2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"663ec4a8-2b7b-4f25-8f3e-e18c856ae271","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445752.8068757} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.222739,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/afb2c8a0-3781-4723-952c-b77a61c568a2","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/afb2c8a0-3781-4723-952c-b77a61c568a2","object_type":"device","rebac_allow":false,"scope_allow":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":"ff043330-3d2e-11ef-b932-e1799b48160b"},"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/afb2c8a0-3781-4723-952c-b77a61c568a2/signaling 200 7ms","method":"POST","requestID":"ff043330-3d2e-11ef-b932-e1799b48160b","responseTime":7,"status":200,"url":"/devices/afb2c8a0-3781-4723-952c-b77a61c568a2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7295728-9a2f-4b3b-9c59-b83a3eac9f4f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4aaea73c-8ffd-4537-8033-bb9a61122535","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445752.815836} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.093607,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f","object_type":"device","rebac_allow":false,"scope_allow":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":"ff0592c0-3d2e-11ef-b932-e1799b48160b"},"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/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f/signaling 200 7ms","method":"POST","requestID":"ff0592c0-3d2e-11ef-b932-e1799b48160b","responseTime":7,"status":200,"url":"/devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1Mn0.Lt94RYZJV3nVZyR4ddUIXmboAgrpd-vXSxoaTlt3NG0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fa31a28c002790d0fb2e17333362d71a","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e9b7e5ca-8d7e-4178-81b4-ff4bf76be13a"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.624662,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e9b7e5ca-8d7e-4178-81b4-ff4bf76be13a","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/e9b7e5ca-8d7e-4178-81b4-ff4bf76be13a","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445752,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1Mn0.Lt94RYZJV3nVZyR4ddUIXmboAgrpd-vXSxoaTlt3NG0"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa31a28c002790d0fb2e17333362d71a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/e9b7e5ca-8d7e-4178-81b4-ff4bf76be13a"} gateway-1 | {"time_local":"08/Jul/2024:13:35:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e9b7e5ca-8d7e-4178-81b4-ff4bf76be13a HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fa31a28c002790d0fb2e17333362d71a"} experiment-1 | {"level":"info","message":"GET /experiments/e9b7e5ca-8d7e-4178-81b4-ff4bf76be13a 200 8ms","method":"GET","requestID":"fa31a28c002790d0fb2e17333362d71a","responseTime":8,"status":200,"url":"/experiments/e9b7e5ca-8d7e-4178-81b4-ff4bf76be13a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1Mn0.Lt94RYZJV3nVZyR4ddUIXmboAgrpd-vXSxoaTlt3NG0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"29d3665ab33733e9afc8d45c8944676b","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/e9b7e5ca-8d7e-4178-81b4-ff4bf76be13a"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.544144,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e9b7e5ca-8d7e-4178-81b4-ff4bf76be13a","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/e9b7e5ca-8d7e-4178-81b4-ff4bf76be13a","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445752,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1Mn0.Lt94RYZJV3nVZyR4ddUIXmboAgrpd-vXSxoaTlt3NG0"} 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":"29d3665ab33733e9afc8d45c8944676b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e9b7e5ca-8d7e-4178-81b4-ff4bf76be13a"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.050309,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/af72d90a-e9de-4458-84cb-c3f04ecb4606","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:http://localhost/peerconnections/af72d90a-e9de-4458-84cb-c3f04ecb4606","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445752,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1Mn0.Lt94RYZJV3nVZyR4ddUIXmboAgrpd-vXSxoaTlt3NG0"} 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":"ff108f40-3d2e-11ef-b932-e1799b48160b"},"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/af72d90a-e9de-4458-84cb-c3f04ecb4606' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/af72d90a-e9de-4458-84cb-c3f04ecb4606' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"af72d90a-e9de-4458-84cb-c3f04ecb4606","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Faf72d90a-e9de-4458-84cb-c3f04ecb4606': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Faf72d90a-e9de-4458-84cb-c3f04ecb4606","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"06df5a5a-b82f-41d9-a114-ce5fb8bc12ef","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445752.8986657} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5c189616-0587-435d-b467-6f74096ab2aa","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445752.8990228} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d0bbea603b030ed5907cf8c46c9fc5fd","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff108f40-3d2e-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"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/afb2c8a0-3781-4723-952c-b77a61c568a2"},{"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/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/af72d90a-e9de-4458-84cb-c3f04ecb4606"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5cc0259ffebfb1d1d74beaf93c5c765a","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/afb2c8a0-3781-4723-952c-b77a61c568a2"},{"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/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/af72d90a-e9de-4458-84cb-c3f04ecb4606"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/af72d90a-e9de-4458-84cb-c3f04ecb4606 204 20ms","method":"DELETE","requestID":"ff108f40-3d2e-11ef-b932-e1799b48160b","responseTime":20,"status":204,"url":"/peerconnections/af72d90a-e9de-4458-84cb-c3f04ecb4606"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/afb2c8a0-3781-4723-952c-b77a61c568a2'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e9b7e5ca-8d7e-4178-81b4-ff4bf76be13a"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fafb2c8a0-3781-4723-952c-b77a61c568a2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c42a612d-56a1-4180-b313-88e59b8f16a2","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445752.9255404} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.337777,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/afb2c8a0-3781-4723-952c-b77a61c568a2","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/afb2c8a0-3781-4723-952c-b77a61c568a2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff15e670-3d2e-11ef-b932-e1799b48160b"},"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/afb2c8a0-3781-4723-952c-b77a61c568a2/signaling 200 10ms","method":"POST","requestID":"ff15e670-3d2e-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/afb2c8a0-3781-4723-952c-b77a61c568a2/signaling"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe9b7e5ca-8d7e-4178-81b4-ff4bf76be13a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe9b7e5ca-8d7e-4178-81b4-ff4bf76be13a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"6d55708d-d6bd-4d42-9625-483f87441fb9","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445752.933175} 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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"185efc02-c6d6-4a9f-b625-6c1ebde479ea","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445752.933387} 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":"29d3665ab33733e9afc8d45c8944676b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7295728-9a2f-4b3b-9c59-b83a3eac9f4f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"57762254-e68b-4348-b1c0-6b761716c3c0","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445752.9378786} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.279007,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f","object_type":"device","rebac_allow":false,"scope_allow":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":"ff180950-3d2e-11ef-b932-e1799b48160b"},"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/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f/signaling 200 8ms","method":"POST","requestID":"ff180950-3d2e-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/e9b7e5ca-8d7e-4178-81b4-ff4bf76be13a"} gateway-1 | {"time_local":"08/Jul/2024:13:35:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/e9b7e5ca-8d7e-4178-81b4-ff4bf76be13a HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.124","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"29d3665ab33733e9afc8d45c8944676b"} experiment-1 | {"level":"info","message":"DELETE /experiments/e9b7e5ca-8d7e-4178-81b4-ff4bf76be13a 204 123ms","method":"DELETE","requestID":"29d3665ab33733e9afc8d45c8944676b","responseTime":123,"status":204,"url":"/experiments/e9b7e5ca-8d7e-4178-81b4-ff4bf76be13a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 97ms","method":"POST","requestID":"d0bbea603b030ed5907cf8c46c9fc5fd","responseTime":97,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.101","http_referrer":"","http_user_agent":"node-fetch","requestID":"d0bbea603b030ed5907cf8c46c9fc5fd"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 98ms","method":"POST","requestID":"5cc0259ffebfb1d1d74beaf93c5c765a","responseTime":98,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.102","http_referrer":"","http_user_agent":"node-fetch","requestID":"5cc0259ffebfb1d1d74beaf93c5c765a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1M30.GNiSsPUA0Oz4eMszl3n4_2wjmOpPjM242KC3YBr3QWg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b0dc6b9d37587dac6620a1ab224a21fd","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:13:35:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2849","request_time":"0.625","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"cbed5858e2a47615ad650c50958451f9"} gateway-1 | {"time_local":"08/Jul/2024:13:35:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2847","request_time":"0.613","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d351a56f5a8a62f454adf6b054992fd8"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:53Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.320715,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445753,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1M30.GNiSsPUA0Oz4eMszl3n4_2wjmOpPjM242KC3YBr3QWg"} 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":"b0dc6b9d37587dac6620a1ab224a21fd"},"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/afb2c8a0-3781-4723-952c-b77a61c568a2' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e7295728-9a2f-4b3b-9c59-b83a3eac9f4f' 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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9416b1ea-e975-4b2f-a572-93a988164494","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"15c77854-33af-4b7f-9a63-c173232d8963","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445753.0283291} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b0dc6b9d37587dac6620a1ab224a21fd"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e4b5bbaf-ac46-45db-9e85-7225d5315d3b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445753.0334735} 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":"b0dc6b9d37587dac6620a1ab224a21fd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9416b1ea-e975-4b2f-a572-93a988164494","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"d4a9f420-aa65-4d93-bc70-9d1933888259","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445753.0453286} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d044a5a4-ea4e-4678-adfc-00c7441c0082","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445753.0454159} 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":"b0dc6b9d37587dac6620a1ab224a21fd"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9416b1ea-e975-4b2f-a572-93a988164494","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9416b1ea-e975-4b2f-a572-93a988164494","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:53.045296747Z"}]},"request_id":"63f99665-34d7-4dc2-9e22-e6fc642035b9","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445753.0494125} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b0dc6b9d37587dac6620a1ab224a21fd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:53 +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":"b0dc6b9d37587dac6620a1ab224a21fd"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"b0dc6b9d37587dac6620a1ab224a21fd","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1M30.GNiSsPUA0Oz4eMszl3n4_2wjmOpPjM242KC3YBr3QWg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e12e70d65ece386b9ed2b1d518b8a4bc","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:53Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.868707,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445753,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1M30.GNiSsPUA0Oz4eMszl3n4_2wjmOpPjM242KC3YBr3QWg"} 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":"e12e70d65ece386b9ed2b1d518b8a4bc"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772ce58e-b80a-41cd-beeb-fa6cd750dd64","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"cca44ab1-9ec6-4272-8f1b-a50cd35b4b94","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445753.0734415} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e12e70d65ece386b9ed2b1d518b8a4bc"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3c527468-1e9f-4dee-9470-29350af8483f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445753.0775335} 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":"e12e70d65ece386b9ed2b1d518b8a4bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772ce58e-b80a-41cd-beeb-fa6cd750dd64","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"01231927-6124-4ed8-b91f-9b0702c2d207","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445753.0885007} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a91e32a9-33fe-4944-b5e1-d8334693252d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445753.0889132} 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":"e12e70d65ece386b9ed2b1d518b8a4bc"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772ce58e-b80a-41cd-beeb-fa6cd750dd64","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772ce58e-b80a-41cd-beeb-fa6cd750dd64","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:53.088465929Z"}]},"request_id":"38ab6bf3-7919-462c-9397-4e88c97a3b92","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445753.0976627} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e12e70d65ece386b9ed2b1d518b8a4bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e12e70d65ece386b9ed2b1d518b8a4bc"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"e12e70d65ece386b9ed2b1d518b8a4bc","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1M30.GNiSsPUA0Oz4eMszl3n4_2wjmOpPjM242KC3YBr3QWg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"66d855ca71b562b2b9748f42bdfde10a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:53Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.79553,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445753,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1M30.GNiSsPUA0Oz4eMszl3n4_2wjmOpPjM242KC3YBr3QWg"} 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":"66d855ca71b562b2b9748f42bdfde10a"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772ce58e-b80a-41cd-beeb-fa6cd750dd64","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772ce58e-b80a-41cd-beeb-fa6cd750dd64","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:53.088465929Z"}]},"request_id":"32e0ab58-3ca4-4524-9014-54b23ba9d4cf","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445753.5970554} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"66d855ca71b562b2b9748f42bdfde10a"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0d3954c1-1a25-464a-acb3-7071a7506ce9","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445753.603542} 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":"66d855ca71b562b2b9748f42bdfde10a"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772ce58e-b80a-41cd-beeb-fa6cd750dd64","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772ce58e-b80a-41cd-beeb-fa6cd750dd64","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:53.088465929Z"}]},"request_id":"8b84e727-bdb9-4e60-83b6-cac0248356ba","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445753.6169596} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"66d855ca71b562b2b9748f42bdfde10a"},"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/772ce58e-b80a-41cd-beeb-fa6cd750dd64 200 33ms","method":"PATCH","requestID":"66d855ca71b562b2b9748f42bdfde10a","responseTime":33,"status":200,"url":"/devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64"} gateway-1 | {"time_local":"08/Jul/2024:13:35:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.038","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"66d855ca71b562b2b9748f42bdfde10a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1M30.GNiSsPUA0Oz4eMszl3n4_2wjmOpPjM242KC3YBr3QWg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"beb544611502d9523b025f79b51bec1f","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:53Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.34936,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445753,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1M30.GNiSsPUA0Oz4eMszl3n4_2wjmOpPjM242KC3YBr3QWg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"beb544611502d9523b025f79b51bec1f"},"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/772ce58e-b80a-41cd-beeb-fa6cd750dd64/websocket 200 19ms","method":"POST","requestID":"beb544611502d9523b025f79b51bec1f","responseTime":19,"status":200,"url":"/devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:35:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.025","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"beb544611502d9523b025f79b51bec1f"} device-1 | {"level":"info","message":"device 'http://localhost/devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ec1398a2c7be69f83cb529385e9229a4","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:35:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/9416b1ea-e975-4b2f-a572-93a988164494/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":"ec1398a2c7be69f83cb529385e9229a4"} device-1 | {"level":"info","message":"OPTIONS /devices/9416b1ea-e975-4b2f-a572-93a988164494/websocket 200 1ms","method":"OPTIONS","requestID":"ec1398a2c7be69f83cb529385e9229a4","responseTime":1,"status":200,"url":"/devices/9416b1ea-e975-4b2f-a572-93a988164494/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1NX0.deIYslPzhMzGGnR6X7PnGZcAvT_G2khsVf1KmOrsTOo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"dd9c537e94722d35310ca7915729d479","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:55Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.165177,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:55Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9416b1ea-e975-4b2f-a572-93a988164494","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/9416b1ea-e975-4b2f-a572-93a988164494","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445755,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1NX0.deIYslPzhMzGGnR6X7PnGZcAvT_G2khsVf1KmOrsTOo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dd9c537e94722d35310ca7915729d479"},"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/9416b1ea-e975-4b2f-a572-93a988164494/websocket 200 22ms","method":"POST","requestID":"dd9c537e94722d35310ca7915729d479","responseTime":22,"status":200,"url":"/devices/9416b1ea-e975-4b2f-a572-93a988164494/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:35:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9416b1ea-e975-4b2f-a572-93a988164494/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"dd9c537e94722d35310ca7915729d479"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9416b1ea-e975-4b2f-a572-93a988164494' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1NX0.deIYslPzhMzGGnR6X7PnGZcAvT_G2khsVf1KmOrsTOo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ed64ea03e112d49dc2cdc5497c2d419f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:55Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.779671,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9416b1ea-e975-4b2f-a572-93a988164494","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/9416b1ea-e975-4b2f-a572-93a988164494","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445755,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1NX0.deIYslPzhMzGGnR6X7PnGZcAvT_G2khsVf1KmOrsTOo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ed64ea03e112d49dc2cdc5497c2d419f"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9416b1ea-e975-4b2f-a572-93a988164494","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9416b1ea-e975-4b2f-a572-93a988164494","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:53.045296747Z"}]},"request_id":"9a95b85b-03aa-48f5-a990-7ed2f69fc2a6","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445755.1671712} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ed64ea03e112d49dc2cdc5497c2d419f"},"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/9416b1ea-e975-4b2f-a572-93a988164494? 200 19ms","method":"GET","requestID":"ed64ea03e112d49dc2cdc5497c2d419f","responseTime":19,"status":200,"url":"/devices/9416b1ea-e975-4b2f-a572-93a988164494?"} gateway-1 | {"time_local":"08/Jul/2024:13:35:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9416b1ea-e975-4b2f-a572-93a988164494? 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":"ed64ea03e112d49dc2cdc5497c2d419f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1NX0.deIYslPzhMzGGnR6X7PnGZcAvT_G2khsVf1KmOrsTOo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d9744039a6b1768222d50cfa6316a396","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:55Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.259199,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445755,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1NX0.deIYslPzhMzGGnR6X7PnGZcAvT_G2khsVf1KmOrsTOo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d9744039a6b1768222d50cfa6316a396"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772ce58e-b80a-41cd-beeb-fa6cd750dd64","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772ce58e-b80a-41cd-beeb-fa6cd750dd64","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:53.088465929Z"}]},"request_id":"f33608fa-2376-461d-99f4-93c0dfd9895c","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445755.1931841} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d9744039a6b1768222d50cfa6316a396"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d9744039a6b1768222d50cfa6316a396"} device-1 | {"level":"info","message":"GET /devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64? 200 17ms","method":"GET","requestID":"d9744039a6b1768222d50cfa6316a396","responseTime":17,"status":200,"url":"/devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1NX0.deIYslPzhMzGGnR6X7PnGZcAvT_G2khsVf1KmOrsTOo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f66e4a6b0f88878eaf76bf41344c8325","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:58630","level":"info","msg":"Received request.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:55Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":2.383296,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445755,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1NX0.deIYslPzhMzGGnR6X7PnGZcAvT_G2khsVf1KmOrsTOo"} 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":"f66e4a6b0f88878eaf76bf41344c8325"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/12a42c35-8f32-451a-8ec9-d31f3372cf7e"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/12a42c35-8f32-451a-8ec9-d31f3372cf7e"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/12a42c35-8f32-451a-8ec9-d31f3372cf7e"},"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:58630","level":"info","msg":"Received request.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:55Z"} authorization-1 | {"client_addr":"127.0.0.1:45766","level":"info","msg":"Received request.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:55Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.837824,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9416b1ea-e975-4b2f-a572-93a988164494","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/9416b1ea-e975-4b2f-a572-93a988164494","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445755,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1NX0.deIYslPzhMzGGnR6X7PnGZcAvT_G2khsVf1KmOrsTOo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"007a5870-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:45766","level":"info","msg":"Sent response.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.962709,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445755,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1NX0.deIYslPzhMzGGnR6X7PnGZcAvT_G2khsVf1KmOrsTOo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"007aa690-3d2f-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9416b1ea-e975-4b2f-a572-93a988164494","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9416b1ea-e975-4b2f-a572-93a988164494","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:53.045296747Z"}]},"request_id":"bb9a23e6-1217-4490-8614-33ed1079d6fa","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445755.2654076} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"007a5870-3d2f-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772ce58e-b80a-41cd-beeb-fa6cd750dd64","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772ce58e-b80a-41cd-beeb-fa6cd750dd64","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:53.088465929Z"}]},"request_id":"7a59ad14-50fb-40a4-bf92-fde811e08000","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445755.2662873} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"007aa690-3d2f-11ef-b932-e1799b48160b"},"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/9416b1ea-e975-4b2f-a572-93a988164494? 200 18ms","method":"GET","requestID":"007a5870-3d2f-11ef-b932-e1799b48160b","responseTime":18,"status":200,"url":"/devices/9416b1ea-e975-4b2f-a572-93a988164494?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64? 200 18ms","method":"GET","requestID":"007aa690-3d2f-11ef-b932-e1799b48160b","responseTime":18,"status":200,"url":"/devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/12a42c35-8f32-451a-8ec9-d31f3372cf7e"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/12a42c35-8f32-451a-8ec9-d31f3372cf7e"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/12a42c35-8f32-451a-8ec9-d31f3372cf7e"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/12a42c35-8f32-451a-8ec9-d31f3372cf7e"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/12a42c35-8f32-451a-8ec9-d31f3372cf7e"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/12a42c35-8f32-451a-8ec9-d31f3372cf7e"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/12a42c35-8f32-451a-8ec9-d31f3372cf7e"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/12a42c35-8f32-451a-8ec9-d31f3372cf7e"},"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/12a42c35-8f32-451a-8ec9-d31f3372cf7e"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:55Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.728778,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9416b1ea-e975-4b2f-a572-93a988164494","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/9416b1ea-e975-4b2f-a572-93a988164494","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445755,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1NX0.deIYslPzhMzGGnR6X7PnGZcAvT_G2khsVf1KmOrsTOo"} 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":"008554f0-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:45766","level":"info","msg":"Received request.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:55Z"} authorization-1 | {"client_addr":"127.0.0.1:45766","level":"info","msg":"Sent response.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.869019,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445755,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1NX0.deIYslPzhMzGGnR6X7PnGZcAvT_G2khsVf1KmOrsTOo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0085a310-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:55Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.862796,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:55Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9416b1ea-e975-4b2f-a572-93a988164494","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fda953bb-6342-4a12-937a-96fca6895ebf","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445755.3361607} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9416b1ea-e975-4b2f-a572-93a988164494","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9416b1ea-e975-4b2f-a572-93a988164494","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0085ca20-3d2f-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9416b1ea-e975-4b2f-a572-93a988164494","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9416b1ea-e975-4b2f-a572-93a988164494","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:53.045296747Z"}]},"request_id":"71807f85-30ca-44b6-a6b7-f52b8cba44e8","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445755.3378832} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9416b1ea-e975-4b2f-a572-93a988164494/signaling 200 10ms","method":"POST","requestID":"0085ca20-3d2f-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/9416b1ea-e975-4b2f-a572-93a988164494/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"008554f0-3d2f-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772ce58e-b80a-41cd-beeb-fa6cd750dd64","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772ce58e-b80a-41cd-beeb-fa6cd750dd64","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:53.088465929Z"}]},"request_id":"5a9249a9-7d40-4ffd-b4dc-d68cc2d4f4ac","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445755.340368} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0085a310-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:55Z"} device-1 | {"level":"info","message":"GET /devices/9416b1ea-e975-4b2f-a572-93a988164494? 200 19ms","method":"GET","requestID":"008554f0-3d2f-11ef-b932-e1799b48160b","responseTime":19,"status":200,"url":"/devices/9416b1ea-e975-4b2f-a572-93a988164494?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64? 200 18ms","method":"GET","requestID":"0085a310-3d2f-11ef-b932-e1799b48160b","responseTime":18,"status":200,"url":"/devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64?"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772ce58e-b80a-41cd-beeb-fa6cd750dd64","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2c39e9a1-be20-402e-95aa-e78dea11a0ee","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445755.3476315} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.667925,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64","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 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0087c5f0-3d2f-11ef-b932-e1799b48160b"},"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/772ce58e-b80a-41cd-beeb-fa6cd750dd64/signaling 200 9ms","method":"POST","requestID":"0087c5f0-3d2f-11ef-b932-e1799b48160b","responseTime":9,"status":200,"url":"/devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64/signaling"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:55Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F12a42c35-8f32-451a-8ec9-d31f3372cf7e#owner@http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F12a42c35-8f32-451a-8ec9-d31f3372cf7e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"fb6397a0-bdf0-4cad-b52d-10e79cd1e980","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445755.3529873} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9416b1ea-e975-4b2f-a572-93a988164494","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b189b1db-f785-4ab6-8b3e-ed13596233f3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445755.3533652} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"24a6cf55-fe22-4f58-958d-e3a015003459","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445755.3540134} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.066282,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9416b1ea-e975-4b2f-a572-93a988164494","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9416b1ea-e975-4b2f-a572-93a988164494","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0088b050-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f66e4a6b0f88878eaf76bf41344c8325"},"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/9416b1ea-e975-4b2f-a572-93a988164494/signaling 200 8ms","method":"POST","requestID":"0088b050-3d2f-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/devices/9416b1ea-e975-4b2f-a572-93a988164494/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:55Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/12a42c35-8f32-451a-8ec9-d31f3372cf7e","user":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/Jul/2024:13:35:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.163","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f66e4a6b0f88878eaf76bf41344c8325"} experiment-1 | {"level":"info","message":"POST /experiments? 201 156ms","method":"POST","requestID":"f66e4a6b0f88878eaf76bf41344c8325","responseTime":156,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772ce58e-b80a-41cd-beeb-fa6cd750dd64","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f4ef84a4-a83c-4b28-bb03-90a5b46d5c20","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445755.3641934} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.465393,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64","object_type":"device","rebac_allow":false,"scope_allow":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":"008a5e00-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1NX0.deIYslPzhMzGGnR6X7PnGZcAvT_G2khsVf1KmOrsTOo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4fcc0aafcc9fe5e0d15a1203d4d1e426","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64/signaling 200 8ms","method":"POST","requestID":"008a5e00-3d2f-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/12a42c35-8f32-451a-8ec9-d31f3372cf7e"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/12a42c35-8f32-451a-8ec9-d31f3372cf7e"},"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":"24ed2174-eb81-499f-b809-0d4a6025e5af"},{"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":"1e638655-89df-4a2c-bf32-67e6cdaf00db"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"71a8c5f8-2765-43fb-ae95-41601e9ef414"}]},"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/9416b1ea-e975-4b2f-a572-93a988164494"},{"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/772ce58e-b80a-41cd-beeb-fa6cd750dd64"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:55Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.500485,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:55Z"} authorization-1 | {"client_addr":"127.0.0.1:45766","level":"info","msg":"Received request.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9416b1ea-e975-4b2f-a572-93a988164494","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/9416b1ea-e975-4b2f-a572-93a988164494","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445755,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1NX0.deIYslPzhMzGGnR6X7PnGZcAvT_G2khsVf1KmOrsTOo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4fcc0aafcc9fe5e0d15a1203d4d1e426"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:45766","level":"info","msg":"Sent response.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.639679,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445755,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1NX0.deIYslPzhMzGGnR6X7PnGZcAvT_G2khsVf1KmOrsTOo"} 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":"008c0bb0-3d2f-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9416b1ea-e975-4b2f-a572-93a988164494","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9416b1ea-e975-4b2f-a572-93a988164494","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:53.045296747Z"}]},"request_id":"4438c51c-869f-40a0-9d47-2d417ab0f8f1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445755.3775668} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4fcc0aafcc9fe5e0d15a1203d4d1e426"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9416b1ea-e975-4b2f-a572-93a988164494? 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":"4fcc0aafcc9fe5e0d15a1203d4d1e426"} device-1 | {"level":"info","message":"GET /devices/9416b1ea-e975-4b2f-a572-93a988164494? 200 12ms","method":"GET","requestID":"4fcc0aafcc9fe5e0d15a1203d4d1e426","responseTime":12,"status":200,"url":"/devices/9416b1ea-e975-4b2f-a572-93a988164494?"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","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%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"8ef0857d-08d1-4ff2-9ac5-f7f576e295d6","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445755.3834689} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e4c1a34b-3191-4670-94ad-19fe34174168","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445755.3838441} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1NX0.deIYslPzhMzGGnR6X7PnGZcAvT_G2khsVf1KmOrsTOo","level":"info","message":"auth send jwt"} 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":"008c0bb0-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"be454aa75b674953463b7843f18d5fa5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:55Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.783897,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445755,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1NX0.deIYslPzhMzGGnR6X7PnGZcAvT_G2khsVf1KmOrsTOo"} 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":"be454aa75b674953463b7843f18d5fa5"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772ce58e-b80a-41cd-beeb-fa6cd750dd64","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772ce58e-b80a-41cd-beeb-fa6cd750dd64","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:53.088465929Z"}]},"request_id":"ada129e4-8dee-46c6-8a77-c25d6a055749","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445755.3929286} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"be454aa75b674953463b7843f18d5fa5"},"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/912c0709-5512-4fc2-8773-beaf925bdd3e'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/912c0709-5512-4fc2-8773-beaf925bdd3e'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 28ms","method":"POST","requestID":"008c0bb0-3d2f-11ef-b932-e1799b48160b","responseTime":28,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64? 200 14ms","method":"GET","requestID":"be454aa75b674953463b7843f18d5fa5","responseTime":14,"status":200,"url":"/devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64?"} gateway-1 | {"time_local":"08/Jul/2024:13:35:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"be454aa75b674953463b7843f18d5fa5"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/12a42c35-8f32-451a-8ec9-d31f3372cf7e"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:55Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9416b1ea-e975-4b2f-a572-93a988164494","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"476438e6-c557-4de7-ae08-ad9e9e956750","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445755.4309928} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.982842,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9416b1ea-e975-4b2f-a572-93a988164494","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9416b1ea-e975-4b2f-a572-93a988164494","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"00947020-3d2f-11ef-b932-e1799b48160b"},"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/9416b1ea-e975-4b2f-a572-93a988164494/signaling 200 9ms","method":"POST","requestID":"00947020-3d2f-11ef-b932-e1799b48160b","responseTime":9,"status":200,"url":"/devices/9416b1ea-e975-4b2f-a572-93a988164494/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:55Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772ce58e-b80a-41cd-beeb-fa6cd750dd64","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"64045bd9-33bf-4de2-8c81-a68008c9e2fc","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445755.4416044} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.251376,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"00961dd0-3d2f-11ef-b932-e1799b48160b"},"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/772ce58e-b80a-41cd-beeb-fa6cd750dd64/signaling 200 8ms","method":"POST","requestID":"00961dd0-3d2f-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64/signaling"} device-1 | {"data":{"peerconnection":"912c0709-5512-4fc2-8773-beaf925bdd3e","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/912c0709-5512-4fc2-8773-beaf925bdd3e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"912c0709-5512-4fc2-8773-beaf925bdd3e","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0e2f265e4f43931201fe1035a1afcafc","responseTime":1,"status":200,"url":"/auth"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/9416b1ea-e975-4b2f-a572-93a988164494'"} 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/9416b1ea-e975-4b2f-a572-93a988164494"},{"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/772ce58e-b80a-41cd-beeb-fa6cd750dd64"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/912c0709-5512-4fc2-8773-beaf925bdd3e"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"0e2f265e4f43931201fe1035a1afcafc","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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":"0e2f265e4f43931201fe1035a1afcafc"} device-1 | {"data":{"peerconnection":"912c0709-5512-4fc2-8773-beaf925bdd3e","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"912c0709-5512-4fc2-8773-beaf925bdd3e","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/912c0709-5512-4fc2-8773-beaf925bdd3e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"912c0709-5512-4fc2-8773-beaf925bdd3e","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"db113623199da4f72b1539a1c1cb9d9f","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/9416b1ea-e975-4b2f-a572-93a988164494"},{"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/772ce58e-b80a-41cd-beeb-fa6cd750dd64"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/912c0709-5512-4fc2-8773-beaf925bdd3e"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:57Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F912c0709-5512-4fc2-8773-beaf925bdd3e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ca886b95-9734-4b1b-92a9-e7a470e22d8d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445757.5178437} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.663674,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/912c0709-5512-4fc2-8773-beaf925bdd3e","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/912c0709-5512-4fc2-8773-beaf925bdd3e","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":"01d2e390-3d2f-11ef-b932-e1799b48160b"},"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/912c0709-5512-4fc2-8773-beaf925bdd3e 200 8ms","method":"GET","requestID":"01d2e390-3d2f-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/peerconnections/912c0709-5512-4fc2-8773-beaf925bdd3e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 33ms","method":"POST","requestID":"db113623199da4f72b1539a1c1cb9d9f","responseTime":33,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.036","http_referrer":"","http_user_agent":"node-fetch","requestID":"db113623199da4f72b1539a1c1cb9d9f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:57Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9416b1ea-e975-4b2f-a572-93a988164494","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"be7ab358-54d8-4def-b7b6-817a6a51fbf7","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445757.5470488} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.065173,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9416b1ea-e975-4b2f-a572-93a988164494","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9416b1ea-e975-4b2f-a572-93a988164494","object_type":"device","rebac_allow":false,"scope_allow":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":"01d75060-3d2f-11ef-b932-e1799b48160b"},"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/9416b1ea-e975-4b2f-a572-93a988164494/signaling 200 9ms","method":"POST","requestID":"01d75060-3d2f-11ef-b932-e1799b48160b","responseTime":9,"status":200,"url":"/devices/9416b1ea-e975-4b2f-a572-93a988164494/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:57Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772ce58e-b80a-41cd-beeb-fa6cd750dd64","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"27a3f597-7efa-47c6-a93f-b828613d7280","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445757.5571177} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.130814,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64","object_type":"device","rebac_allow":false,"scope_allow":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":"01d8fe10-3d2f-11ef-b932-e1799b48160b"},"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/772ce58e-b80a-41cd-beeb-fa6cd750dd64/signaling 200 8ms","method":"POST","requestID":"01d8fe10-3d2f-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1N30.utIJg23hKrhhadMzWzY29QEqN3kgGU2Yj4aqwiGtG7c","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4e7daf5068664b4e867d677f383ac023","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/12a42c35-8f32-451a-8ec9-d31f3372cf7e"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:57Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.164121,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/12a42c35-8f32-451a-8ec9-d31f3372cf7e","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/12a42c35-8f32-451a-8ec9-d31f3372cf7e","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445757,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1N30.utIJg23hKrhhadMzWzY29QEqN3kgGU2Yj4aqwiGtG7c"} 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":"4e7daf5068664b4e867d677f383ac023"},"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/12a42c35-8f32-451a-8ec9-d31f3372cf7e"} gateway-1 | {"time_local":"08/Jul/2024:13:35:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/12a42c35-8f32-451a-8ec9-d31f3372cf7e 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":"4e7daf5068664b4e867d677f383ac023"} experiment-1 | {"level":"info","message":"GET /experiments/12a42c35-8f32-451a-8ec9-d31f3372cf7e 200 15ms","method":"GET","requestID":"4e7daf5068664b4e867d677f383ac023","responseTime":15,"status":200,"url":"/experiments/12a42c35-8f32-451a-8ec9-d31f3372cf7e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1N30.utIJg23hKrhhadMzWzY29QEqN3kgGU2Yj4aqwiGtG7c","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"026f9b24b940beb955793615eb6fda47","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/12a42c35-8f32-451a-8ec9-d31f3372cf7e"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:57Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.745783,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:57Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/12a42c35-8f32-451a-8ec9-d31f3372cf7e","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/12a42c35-8f32-451a-8ec9-d31f3372cf7e","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445757,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1N30.utIJg23hKrhhadMzWzY29QEqN3kgGU2Yj4aqwiGtG7c"} 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":"026f9b24b940beb955793615eb6fda47"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/12a42c35-8f32-451a-8ec9-d31f3372cf7e"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:57Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.32412,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:57Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/912c0709-5512-4fc2-8773-beaf925bdd3e","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:http://localhost/peerconnections/912c0709-5512-4fc2-8773-beaf925bdd3e","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445757,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1N30.utIJg23hKrhhadMzWzY29QEqN3kgGU2Yj4aqwiGtG7c"} 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":"01e7a410-3d2f-11ef-b932-e1799b48160b"},"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/912c0709-5512-4fc2-8773-beaf925bdd3e' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/912c0709-5512-4fc2-8773-beaf925bdd3e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"912c0709-5512-4fc2-8773-beaf925bdd3e","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F912c0709-5512-4fc2-8773-beaf925bdd3e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F912c0709-5512-4fc2-8773-beaf925bdd3e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"be81bc0e-83e9-4e55-bda9-d868d74d46b8","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445757.6735342} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1b95445f-3795-4f85-b3a8-d122d4f788dd","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445757.6739283} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"016ddc111dbd6f318c57fa83d95064a5","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","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/9416b1ea-e975-4b2f-a572-93a988164494"},{"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/772ce58e-b80a-41cd-beeb-fa6cd750dd64"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/912c0709-5512-4fc2-8773-beaf925bdd3e"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"01e7a410-3d2f-11ef-b932-e1799b48160b"},"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":"3d2b89789fe7f61fd2b90d9f253c6f2a","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/9416b1ea-e975-4b2f-a572-93a988164494"},{"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/772ce58e-b80a-41cd-beeb-fa6cd750dd64"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/912c0709-5512-4fc2-8773-beaf925bdd3e"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"912c0709-5512-4fc2-8773-beaf925bdd3e","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/912c0709-5512-4fc2-8773-beaf925bdd3e 204 48ms","method":"DELETE","requestID":"01e7a410-3d2f-11ef-b932-e1799b48160b","responseTime":48,"status":204,"url":"/peerconnections/912c0709-5512-4fc2-8773-beaf925bdd3e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/12a42c35-8f32-451a-8ec9-d31f3372cf7e"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:57Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9416b1ea-e975-4b2f-a572-93a988164494","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e210c4d1-f77c-4a44-bb85-44259bc1b937","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445757.7279477} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.0546,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9416b1ea-e975-4b2f-a572-93a988164494","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9416b1ea-e975-4b2f-a572-93a988164494","object_type":"device","rebac_allow":false,"scope_allow":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":"01f27980-3d2f-11ef-b932-e1799b48160b"},"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/9416b1ea-e975-4b2f-a572-93a988164494/signaling 200 15ms","method":"POST","requestID":"01f27980-3d2f-11ef-b932-e1799b48160b","responseTime":15,"status":200,"url":"/devices/9416b1ea-e975-4b2f-a572-93a988164494/signaling"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F12a42c35-8f32-451a-8ec9-d31f3372cf7e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F12a42c35-8f32-451a-8ec9-d31f3372cf7e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"367f7634-e233-4dd6-a89f-4e5d91cf3d94","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445757.7354627} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cc80fc07-8ca5-4f28-ae38-773f8f7d0321","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445757.7363486} 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":"026f9b24b940beb955793615eb6fda47"},"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:58630","level":"info","msg":"Received request.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:57Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772ce58e-b80a-41cd-beeb-fa6cd750dd64","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c0294b63-1eec-4660-a1e2-06f0b0cdb201","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445757.7455835} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.882073,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64","object_type":"device","rebac_allow":false,"scope_allow":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":"01f55fb0-3d2f-11ef-b932-e1799b48160b"},"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/772ce58e-b80a-41cd-beeb-fa6cd750dd64/signaling 200 14ms","method":"POST","requestID":"01f55fb0-3d2f-11ef-b932-e1799b48160b","responseTime":14,"status":200,"url":"/devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/12a42c35-8f32-451a-8ec9-d31f3372cf7e"} gateway-1 | {"time_local":"08/Jul/2024:13:35:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/12a42c35-8f32-451a-8ec9-d31f3372cf7e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.174","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"026f9b24b940beb955793615eb6fda47"} experiment-1 | {"level":"info","message":"DELETE /experiments/12a42c35-8f32-451a-8ec9-d31f3372cf7e 204 170ms","method":"DELETE","requestID":"026f9b24b940beb955793615eb6fda47","responseTime":170,"status":204,"url":"/experiments/12a42c35-8f32-451a-8ec9-d31f3372cf7e"} gateway-1 | {"time_local":"08/Jul/2024:13:35:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2799","request_time":"4.154","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"92c4afe363f3e232d8ea076bae16adc8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 130ms","method":"POST","requestID":"016ddc111dbd6f318c57fa83d95064a5","responseTime":130,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.134","http_referrer":"","http_user_agent":"node-fetch","requestID":"016ddc111dbd6f318c57fa83d95064a5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 128ms","method":"POST","requestID":"3d2b89789fe7f61fd2b90d9f253c6f2a","responseTime":128,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.136","http_referrer":"","http_user_agent":"node-fetch","requestID":"3d2b89789fe7f61fd2b90d9f253c6f2a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1N30.utIJg23hKrhhadMzWzY29QEqN3kgGU2Yj4aqwiGtG7c","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"452eac5409e781b4cbb9999ee4e36611","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:57Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.979951,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445757,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1N30.utIJg23hKrhhadMzWzY29QEqN3kgGU2Yj4aqwiGtG7c"} 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":"452eac5409e781b4cbb9999ee4e36611"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} gateway-1 | {"time_local":"08/Jul/2024:13:35:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2709","request_time":"2.687","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e7b785430417a5623fa7b9894a8a6946"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/772ce58e-b80a-41cd-beeb-fa6cd750dd64' 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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1473a595-6c42-4962-bac9-53ac52d105fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"43ecd329-5607-428b-904e-35b9e78b68f3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445757.8325489} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"452eac5409e781b4cbb9999ee4e36611"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"064d6dfc-60f3-4fc2-b3bb-7745fcf7af03","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445757.8372824} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9416b1ea-e975-4b2f-a572-93a988164494' closed"} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"452eac5409e781b4cbb9999ee4e36611"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1473a595-6c42-4962-bac9-53ac52d105fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"69e4a07e-be9a-4067-ad69-f49cafe49637","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445757.8470206} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7b24b9e8-7200-4794-9646-6d7664c5f4e5","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445757.8472192} 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":"452eac5409e781b4cbb9999ee4e36611"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1473a595-6c42-4962-bac9-53ac52d105fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1473a595-6c42-4962-bac9-53ac52d105fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:57.846998155Z"}]},"request_id":"25ce648f-9378-478c-8cb3-cd36a0111eb4","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445757.851294} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"452eac5409e781b4cbb9999ee4e36611"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"452eac5409e781b4cbb9999ee4e36611"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"452eac5409e781b4cbb9999ee4e36611","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1N30.utIJg23hKrhhadMzWzY29QEqN3kgGU2Yj4aqwiGtG7c","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f0c39e6ce8695c5bfe86c325c6c0d080","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:57Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.731027,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445757,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1N30.utIJg23hKrhhadMzWzY29QEqN3kgGU2Yj4aqwiGtG7c"} 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":"f0c39e6ce8695c5bfe86c325c6c0d080"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29c42d0c-6d57-4d97-ae13-0b5043388429","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"cf837eca-2b05-42fd-aa9c-1dee18d8afa5","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445757.8783572} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f0c39e6ce8695c5bfe86c325c6c0d080"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bd423e36-53d3-482d-9a59-fcfefa478005","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445757.8824103} 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":"f0c39e6ce8695c5bfe86c325c6c0d080"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29c42d0c-6d57-4d97-ae13-0b5043388429","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"06cd3daf-76fb-4626-ae60-7648398af66c","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445757.8930013} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c646efad-550c-44a8-bce0-81e38cab35e4","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445757.8933384} 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":"f0c39e6ce8695c5bfe86c325c6c0d080"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29c42d0c-6d57-4d97-ae13-0b5043388429","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29c42d0c-6d57-4d97-ae13-0b5043388429","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:57.892973971Z"}]},"request_id":"3c7d5b65-52d6-44e4-821c-8e7109fc1b50","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445757.8976803} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f0c39e6ce8695c5bfe86c325c6c0d080"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35: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.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f0c39e6ce8695c5bfe86c325c6c0d080"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"f0c39e6ce8695c5bfe86c325c6c0d080","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1OH0.HXTZu-KhBbPinCO0McqXrSbDjyqMRAmAjf58K_p1cDo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6293f06de5b2ed4051947a3ae26e1c53","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:58Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.693513,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/29c42d0c-6d57-4d97-ae13-0b5043388429","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/29c42d0c-6d57-4d97-ae13-0b5043388429","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445758,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1OH0.HXTZu-KhBbPinCO0McqXrSbDjyqMRAmAjf58K_p1cDo"} 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":"6293f06de5b2ed4051947a3ae26e1c53"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29c42d0c-6d57-4d97-ae13-0b5043388429","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29c42d0c-6d57-4d97-ae13-0b5043388429","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:57.892973971Z"}]},"request_id":"67c65564-27b4-4614-b2df-19c5973be05b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445758.3966684} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6293f06de5b2ed4051947a3ae26e1c53"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0d560a6d-0876-4b19-9687-8d87ea64d253","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445758.4024904} 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":"6293f06de5b2ed4051947a3ae26e1c53"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29c42d0c-6d57-4d97-ae13-0b5043388429","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29c42d0c-6d57-4d97-ae13-0b5043388429","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:57.892973971Z"}]},"request_id":"1d43f39c-9869-437b-90fc-d3bf79b772cb","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445758.4148111} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6293f06de5b2ed4051947a3ae26e1c53"},"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/29c42d0c-6d57-4d97-ae13-0b5043388429 200 29ms","method":"PATCH","requestID":"6293f06de5b2ed4051947a3ae26e1c53","responseTime":29,"status":200,"url":"/devices/29c42d0c-6d57-4d97-ae13-0b5043388429"} gateway-1 | {"time_local":"08/Jul/2024:13:35:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/29c42d0c-6d57-4d97-ae13-0b5043388429 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.035","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"6293f06de5b2ed4051947a3ae26e1c53"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1OH0.HXTZu-KhBbPinCO0McqXrSbDjyqMRAmAjf58K_p1cDo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fec088be62203b302e96db9100f986f9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:58Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.294769,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/29c42d0c-6d57-4d97-ae13-0b5043388429","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/29c42d0c-6d57-4d97-ae13-0b5043388429","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445758,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1OH0.HXTZu-KhBbPinCO0McqXrSbDjyqMRAmAjf58K_p1cDo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fec088be62203b302e96db9100f986f9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/29c42d0c-6d57-4d97-ae13-0b5043388429/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.023","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"fec088be62203b302e96db9100f986f9"} device-1 | {"level":"info","message":"POST /devices/29c42d0c-6d57-4d97-ae13-0b5043388429/websocket 200 19ms","method":"POST","requestID":"fec088be62203b302e96db9100f986f9","responseTime":19,"status":200,"url":"/devices/29c42d0c-6d57-4d97-ae13-0b5043388429/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/29c42d0c-6d57-4d97-ae13-0b5043388429' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9573f433bc1b3b360d2ae3120c4ee595","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:35:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1473a595-6c42-4962-bac9-53ac52d105fc/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":"9573f433bc1b3b360d2ae3120c4ee595"} device-1 | {"level":"info","message":"OPTIONS /devices/1473a595-6c42-4962-bac9-53ac52d105fc/websocket 200 1ms","method":"OPTIONS","requestID":"9573f433bc1b3b360d2ae3120c4ee595","responseTime":1,"status":200,"url":"/devices/1473a595-6c42-4962-bac9-53ac52d105fc/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1OX0.01Fch669-nsJY_4xT9MmZ5QMUGPsIqtmx2bPyhpga9w","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"5c873fc5870f4250a54e1dd300c1ffa3","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:59Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.274794,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:59Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1473a595-6c42-4962-bac9-53ac52d105fc","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/1473a595-6c42-4962-bac9-53ac52d105fc","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445759,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1OX0.01Fch669-nsJY_4xT9MmZ5QMUGPsIqtmx2bPyhpga9w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5c873fc5870f4250a54e1dd300c1ffa3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1473a595-6c42-4962-bac9-53ac52d105fc/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5c873fc5870f4250a54e1dd300c1ffa3"} device-1 | {"level":"info","message":"POST /devices/1473a595-6c42-4962-bac9-53ac52d105fc/websocket 200 21ms","method":"POST","requestID":"5c873fc5870f4250a54e1dd300c1ffa3","responseTime":21,"status":200,"url":"/devices/1473a595-6c42-4962-bac9-53ac52d105fc/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1473a595-6c42-4962-bac9-53ac52d105fc' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1OX0.01Fch669-nsJY_4xT9MmZ5QMUGPsIqtmx2bPyhpga9w","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a47f82c4559164b3c5ed10710614221a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:59Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.940052,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1473a595-6c42-4962-bac9-53ac52d105fc","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/1473a595-6c42-4962-bac9-53ac52d105fc","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445759,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1OX0.01Fch669-nsJY_4xT9MmZ5QMUGPsIqtmx2bPyhpga9w"} 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":"a47f82c4559164b3c5ed10710614221a"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1473a595-6c42-4962-bac9-53ac52d105fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1473a595-6c42-4962-bac9-53ac52d105fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:57.846998155Z"}]},"request_id":"d617a94d-5aea-4b24-a8df-8005c92554c5","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445759.9786592} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a47f82c4559164b3c5ed10710614221a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:35:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1473a595-6c42-4962-bac9-53ac52d105fc? 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":"a47f82c4559164b3c5ed10710614221a"} device-1 | {"level":"info","message":"GET /devices/1473a595-6c42-4962-bac9-53ac52d105fc? 200 18ms","method":"GET","requestID":"a47f82c4559164b3c5ed10710614221a","responseTime":18,"status":200,"url":"/devices/1473a595-6c42-4962-bac9-53ac52d105fc?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1OX0.01Fch669-nsJY_4xT9MmZ5QMUGPsIqtmx2bPyhpga9w","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9d996972a61be75cb8772e8285632f24","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:35:59Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.1754,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:35:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/29c42d0c-6d57-4d97-ae13-0b5043388429","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/29c42d0c-6d57-4d97-ae13-0b5043388429","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445759,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc1OX0.01Fch669-nsJY_4xT9MmZ5QMUGPsIqtmx2bPyhpga9w"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d996972a61be75cb8772e8285632f24"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29c42d0c-6d57-4d97-ae13-0b5043388429","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29c42d0c-6d57-4d97-ae13-0b5043388429","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:57.892973971Z"}]},"request_id":"630bfec8-5d3a-45f6-9113-78d4b1d70e78","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445760.0027475} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d996972a61be75cb8772e8285632f24"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:36:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/29c42d0c-6d57-4d97-ae13-0b5043388429? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9d996972a61be75cb8772e8285632f24"} device-1 | {"level":"info","message":"GET /devices/29c42d0c-6d57-4d97-ae13-0b5043388429? 200 16ms","method":"GET","requestID":"9d996972a61be75cb8772e8285632f24","responseTime":16,"status":200,"url":"/devices/29c42d0c-6d57-4d97-ae13-0b5043388429?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2MH0.KhTvXYIUt2xxtLL0kKBMxADGiI-dXXf1K6yCZaeuj30","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"43cf402b1d48e1211f28ae652f63019e","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:58630","level":"info","msg":"Received request.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:00Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.401781,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445760,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2MH0.KhTvXYIUt2xxtLL0kKBMxADGiI-dXXf1K6yCZaeuj30"} 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":"43cf402b1d48e1211f28ae652f63019e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/657dd037-bd33-49c6-848e-cd42a07abae0"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/657dd037-bd33-49c6-848e-cd42a07abae0"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/657dd037-bd33-49c6-848e-cd42a07abae0"},"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:58630","level":"info","msg":"Received request.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:00Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.722587,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1473a595-6c42-4962-bac9-53ac52d105fc","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/1473a595-6c42-4962-bac9-53ac52d105fc","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445760,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2MH0.KhTvXYIUt2xxtLL0kKBMxADGiI-dXXf1K6yCZaeuj30"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"035739a0-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:47518","level":"info","msg":"Received request.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:00Z"} authorization-1 | {"client_addr":"127.0.0.1:47518","level":"info","msg":"Sent response.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.456885,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/29c42d0c-6d57-4d97-ae13-0b5043388429","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/29c42d0c-6d57-4d97-ae13-0b5043388429","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445760,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2MH0.KhTvXYIUt2xxtLL0kKBMxADGiI-dXXf1K6yCZaeuj30"} 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":"035787c0-3d2f-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1473a595-6c42-4962-bac9-53ac52d105fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1473a595-6c42-4962-bac9-53ac52d105fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:57.846998155Z"}]},"request_id":"c8f6c15a-574a-4330-912a-980eb0f47925","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445760.069912} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"035739a0-3d2f-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29c42d0c-6d57-4d97-ae13-0b5043388429","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29c42d0c-6d57-4d97-ae13-0b5043388429","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:57.892973971Z"}]},"request_id":"6e766768-f45c-4545-a56c-c8079a4e0bbf","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445760.0731864} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/1473a595-6c42-4962-bac9-53ac52d105fc? 200 16ms","method":"GET","requestID":"035739a0-3d2f-11ef-b932-e1799b48160b","responseTime":16,"status":200,"url":"/devices/1473a595-6c42-4962-bac9-53ac52d105fc?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"035787c0-3d2f-11ef-b932-e1799b48160b"},"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/29c42d0c-6d57-4d97-ae13-0b5043388429? 200 16ms","method":"GET","requestID":"035787c0-3d2f-11ef-b932-e1799b48160b","responseTime":16,"status":200,"url":"/devices/29c42d0c-6d57-4d97-ae13-0b5043388429?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/657dd037-bd33-49c6-848e-cd42a07abae0"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/657dd037-bd33-49c6-848e-cd42a07abae0"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/657dd037-bd33-49c6-848e-cd42a07abae0"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/657dd037-bd33-49c6-848e-cd42a07abae0"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/657dd037-bd33-49c6-848e-cd42a07abae0"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/657dd037-bd33-49c6-848e-cd42a07abae0"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/657dd037-bd33-49c6-848e-cd42a07abae0"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/657dd037-bd33-49c6-848e-cd42a07abae0"},"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/657dd037-bd33-49c6-848e-cd42a07abae0"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:00Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.311165,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:00Z"} authorization-1 | {"client_addr":"127.0.0.1:47518","level":"info","msg":"Received request.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:00Z"} authorization-1 | {"client_addr":"127.0.0.1:47518","level":"info","msg":"Sent response.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.700832,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1473a595-6c42-4962-bac9-53ac52d105fc","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/1473a595-6c42-4962-bac9-53ac52d105fc","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445760,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2MH0.KhTvXYIUt2xxtLL0kKBMxADGiI-dXXf1K6yCZaeuj30"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"036199e0-3d2f-11ef-b932-e1799b48160b"},"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/29c42d0c-6d57-4d97-ae13-0b5043388429","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/29c42d0c-6d57-4d97-ae13-0b5043388429","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445760,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2MH0.KhTvXYIUt2xxtLL0kKBMxADGiI-dXXf1K6yCZaeuj30"} 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":"0361e800-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:47526","level":"info","msg":"Received request.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:00Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29c42d0c-6d57-4d97-ae13-0b5043388429","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29c42d0c-6d57-4d97-ae13-0b5043388429","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:57.892973971Z"}]},"request_id":"6ad0851f-d5a7-4e61-964f-eb473e2f17fc","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445760.1400547} 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":"0361e800-3d2f-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1473a595-6c42-4962-bac9-53ac52d105fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1473a595-6c42-4962-bac9-53ac52d105fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:57.846998155Z"}]},"request_id":"c317dba8-8a50-4e60-8b31-cfb9fbcd2b0c","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445760.1419163} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1473a595-6c42-4962-bac9-53ac52d105fc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bba2779c-b9d8-419d-8a3c-0a5ae80d1a48","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445760.1429994} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"036199e0-3d2f-11ef-b932-e1799b48160b"},"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:47526","level":"info","msg":"Sent response.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.036776,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1473a595-6c42-4962-bac9-53ac52d105fc","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1473a595-6c42-4962-bac9-53ac52d105fc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"03623620-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F657dd037-bd33-49c6-848e-cd42a07abae0#owner@http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F657dd037-bd33-49c6-848e-cd42a07abae0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"b759431a-13b2-4612-b244-611134b9fc81","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445760.1510572} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e9b34f96-ea48-44a3-be07-90493d077421","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445760.1514888} device-1 | {"level":"info","message":"GET /devices/29c42d0c-6d57-4d97-ae13-0b5043388429? 200 24ms","method":"GET","requestID":"0361e800-3d2f-11ef-b932-e1799b48160b","responseTime":24,"status":200,"url":"/devices/29c42d0c-6d57-4d97-ae13-0b5043388429?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/1473a595-6c42-4962-bac9-53ac52d105fc? 200 26ms","method":"GET","requestID":"036199e0-3d2f-11ef-b932-e1799b48160b","responseTime":26,"status":200,"url":"/devices/1473a595-6c42-4962-bac9-53ac52d105fc?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"43cf402b1d48e1211f28ae652f63019e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1473a595-6c42-4962-bac9-53ac52d105fc/signaling 200 23ms","method":"POST","requestID":"03623620-3d2f-11ef-b932-e1799b48160b","responseTime":23,"status":200,"url":"/devices/1473a595-6c42-4962-bac9-53ac52d105fc/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:00Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1473a595-6c42-4962-bac9-53ac52d105fc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a54f4165-d842-45db-a049-6d9183d2b044","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445760.1592882} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.694193,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:00Z"} authorization-1 | {"client_addr":"127.0.0.1:47518","level":"info","msg":"Received request.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:00Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/657dd037-bd33-49c6-848e-cd42a07abae0","user":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1473a595-6c42-4962-bac9-53ac52d105fc","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1473a595-6c42-4962-bac9-53ac52d105fc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"08/Jul/2024:13:36:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.151","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"43cf402b1d48e1211f28ae652f63019e"} experiment-1 | {"level":"info","message":"POST /experiments? 201 144ms","method":"POST","requestID":"43cf402b1d48e1211f28ae652f63019e","responseTime":144,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"036606b0-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29c42d0c-6d57-4d97-ae13-0b5043388429","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0d6e1743-e128-44f2-b229-2bc1ef586727","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445760.1625772} authorization-1 | {"client_addr":"127.0.0.1:47518","level":"info","msg":"Sent response.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.378982,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/29c42d0c-6d57-4d97-ae13-0b5043388429","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/29c42d0c-6d57-4d97-ae13-0b5043388429","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"036654d0-3d2f-11ef-b932-e1799b48160b"},"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/1473a595-6c42-4962-bac9-53ac52d105fc/signaling 200 10ms","method":"POST","requestID":"036606b0-3d2f-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/1473a595-6c42-4962-bac9-53ac52d105fc/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2MH0.KhTvXYIUt2xxtLL0kKBMxADGiI-dXXf1K6yCZaeuj30","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"25090a6d46d4ff03e895dcb69bb14554","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices/29c42d0c-6d57-4d97-ae13-0b5043388429/signaling 200 10ms","method":"POST","requestID":"036654d0-3d2f-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/29c42d0c-6d57-4d97-ae13-0b5043388429/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:00Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29c42d0c-6d57-4d97-ae13-0b5043388429","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4a139ad6-e3f7-4988-bdcf-b84a27a542c6","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445760.1723216} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.468379,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:00Z"} authorization-1 | {"client_addr":"127.0.0.1:47518","level":"info","msg":"Received request.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/29c42d0c-6d57-4d97-ae13-0b5043388429","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/29c42d0c-6d57-4d97-ae13-0b5043388429","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"03680280-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:47518","level":"info","msg":"Sent response.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.588287,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1473a595-6c42-4962-bac9-53ac52d105fc","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/1473a595-6c42-4962-bac9-53ac52d105fc","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445760,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2MH0.KhTvXYIUt2xxtLL0kKBMxADGiI-dXXf1K6yCZaeuj30"} 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":"25090a6d46d4ff03e895dcb69bb14554"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/29c42d0c-6d57-4d97-ae13-0b5043388429/signaling 200 10ms","method":"POST","requestID":"03680280-3d2f-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/29c42d0c-6d57-4d97-ae13-0b5043388429/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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1473a595-6c42-4962-bac9-53ac52d105fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1473a595-6c42-4962-bac9-53ac52d105fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:57.846998155Z"}]},"request_id":"63067809-0828-4369-8671-6acb9360c427","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445760.178619} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/657dd037-bd33-49c6-848e-cd42a07abae0"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/657dd037-bd33-49c6-848e-cd42a07abae0"},"level":"info","message":"Building connection plan"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"25090a6d46d4ff03e895dcb69bb14554"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} 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":"c608a969-28db-423a-9a90-46db40341cac"},{"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":"cbcda35d-23b3-485a-94e7-870e12b268ec"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"8cba9be6-0f87-49d9-9fbb-cd27d83074a3"}]},"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/1473a595-6c42-4962-bac9-53ac52d105fc"},{"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/29c42d0c-6d57-4d97-ae13-0b5043388429"}],"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:58630","level":"info","msg":"Received request.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:00Z"} device-1 | {"level":"info","message":"GET /devices/1473a595-6c42-4962-bac9-53ac52d105fc? 200 13ms","method":"GET","requestID":"25090a6d46d4ff03e895dcb69bb14554","responseTime":13,"status":200,"url":"/devices/1473a595-6c42-4962-bac9-53ac52d105fc?"} gateway-1 | {"time_local":"08/Jul/2024:13:36:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1473a595-6c42-4962-bac9-53ac52d105fc? 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":"25090a6d46d4ff03e895dcb69bb14554"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.864148,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445760,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2MH0.KhTvXYIUt2xxtLL0kKBMxADGiI-dXXf1K6yCZaeuj30"} 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":"0369fe50-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2MH0.KhTvXYIUt2xxtLL0kKBMxADGiI-dXXf1K6yCZaeuj30","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9017122425bb02b5172ac6f69a141c36","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:00Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.696256,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/29c42d0c-6d57-4d97-ae13-0b5043388429","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/29c42d0c-6d57-4d97-ae13-0b5043388429","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445760,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2MH0.KhTvXYIUt2xxtLL0kKBMxADGiI-dXXf1K6yCZaeuj30"} 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":"9017122425bb02b5172ac6f69a141c36"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","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%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"a1268d0b-00fa-4411-b705-1d4df38a5404","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445760.1974018} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2916ec94-ab38-4d7e-b256-44bf49443e6e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445760.1982367} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29c42d0c-6d57-4d97-ae13-0b5043388429","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29c42d0c-6d57-4d97-ae13-0b5043388429","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:35:57.892973971Z"}]},"request_id":"c2d3ee1a-2ea6-4330-a1b3-fb014e70628f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445760.1994197} 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":"0369fe50-3d2f-11ef-b932-e1799b48160b"},"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":"9017122425bb02b5172ac6f69a141c36"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:36:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/29c42d0c-6d57-4d97-ae13-0b5043388429? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9017122425bb02b5172ac6f69a141c36"} device-1 | {"level":"info","message":"GET /devices/29c42d0c-6d57-4d97-ae13-0b5043388429? 200 13ms","method":"GET","requestID":"9017122425bb02b5172ac6f69a141c36","responseTime":13,"status":200,"url":"/devices/29c42d0c-6d57-4d97-ae13-0b5043388429?"} 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/3e7f1e50-c3f7-4e33-939d-ee9a4f6802c8'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/3e7f1e50-c3f7-4e33-939d-ee9a4f6802c8'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 31ms","method":"POST","requestID":"0369fe50-3d2f-11ef-b932-e1799b48160b","responseTime":31,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/657dd037-bd33-49c6-848e-cd42a07abae0"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:00Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1473a595-6c42-4962-bac9-53ac52d105fc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3bac9e97-d0aa-4789-949f-d11b5e023e68","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445760.2423725} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.107609,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1473a595-6c42-4962-bac9-53ac52d105fc","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1473a595-6c42-4962-bac9-53ac52d105fc","object_type":"device","rebac_allow":false,"scope_allow":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":"0372b0e0-3d2f-11ef-b932-e1799b48160b"},"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/1473a595-6c42-4962-bac9-53ac52d105fc/signaling 200 8ms","method":"POST","requestID":"0372b0e0-3d2f-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/devices/1473a595-6c42-4962-bac9-53ac52d105fc/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:00Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29c42d0c-6d57-4d97-ae13-0b5043388429","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4a33671b-8511-43f7-b768-8e15f0a35fe6","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445760.2532594} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.291281,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/29c42d0c-6d57-4d97-ae13-0b5043388429","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/29c42d0c-6d57-4d97-ae13-0b5043388429","object_type":"device","rebac_allow":false,"scope_allow":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":"03743780-3d2f-11ef-b932-e1799b48160b"},"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/29c42d0c-6d57-4d97-ae13-0b5043388429/signaling 200 9ms","method":"POST","requestID":"03743780-3d2f-11ef-b932-e1799b48160b","responseTime":9,"status":200,"url":"/devices/29c42d0c-6d57-4d97-ae13-0b5043388429/signaling"} device-1 | {"data":{"peerconnection":"3e7f1e50-c3f7-4e33-939d-ee9a4f6802c8","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/3e7f1e50-c3f7-4e33-939d-ee9a4f6802c8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3e7f1e50-c3f7-4e33-939d-ee9a4f6802c8","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d682225de76acbcba97a824c576fa2f0","responseTime":1,"status":200,"url":"/auth"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1473a595-6c42-4962-bac9-53ac52d105fc'"} 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/1473a595-6c42-4962-bac9-53ac52d105fc"},{"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/29c42d0c-6d57-4d97-ae13-0b5043388429"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/3e7f1e50-c3f7-4e33-939d-ee9a4f6802c8"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"d682225de76acbcba97a824c576fa2f0","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:36:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"d682225de76acbcba97a824c576fa2f0"} device-1 | {"data":{"peerconnection":"3e7f1e50-c3f7-4e33-939d-ee9a4f6802c8","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"3e7f1e50-c3f7-4e33-939d-ee9a4f6802c8","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3e7f1e50-c3f7-4e33-939d-ee9a4f6802c8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3e7f1e50-c3f7-4e33-939d-ee9a4f6802c8","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7d0a9273b2bf82a10f40a9a59fec0af0","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/1473a595-6c42-4962-bac9-53ac52d105fc"},{"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/29c42d0c-6d57-4d97-ae13-0b5043388429"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/3e7f1e50-c3f7-4e33-939d-ee9a4f6802c8"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:02Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3e7f1e50-c3f7-4e33-939d-ee9a4f6802c8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eff50a05-ad43-4210-b63b-fb9260e61d68","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445762.3301225} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.774331,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3e7f1e50-c3f7-4e33-939d-ee9a4f6802c8","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/3e7f1e50-c3f7-4e33-939d-ee9a4f6802c8","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":"04b12450-3d2f-11ef-b932-e1799b48160b"},"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/3e7f1e50-c3f7-4e33-939d-ee9a4f6802c8 200 8ms","method":"GET","requestID":"04b12450-3d2f-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/peerconnections/3e7f1e50-c3f7-4e33-939d-ee9a4f6802c8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 39ms","method":"POST","requestID":"7d0a9273b2bf82a10f40a9a59fec0af0","responseTime":39,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:36:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch","requestID":"7d0a9273b2bf82a10f40a9a59fec0af0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:02Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1473a595-6c42-4962-bac9-53ac52d105fc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"53739acf-85b9-464f-b2a6-076a13304b7a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445762.365723} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.941908,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1473a595-6c42-4962-bac9-53ac52d105fc","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1473a595-6c42-4962-bac9-53ac52d105fc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"04b67b80-3d2f-11ef-b932-e1799b48160b"},"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/1473a595-6c42-4962-bac9-53ac52d105fc/signaling 200 9ms","method":"POST","requestID":"04b67b80-3d2f-11ef-b932-e1799b48160b","responseTime":9,"status":200,"url":"/devices/1473a595-6c42-4962-bac9-53ac52d105fc/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:02Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29c42d0c-6d57-4d97-ae13-0b5043388429","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9b36d325-66cd-4ce6-85b5-ca9e6136825a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445762.379502} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.200041,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/29c42d0c-6d57-4d97-ae13-0b5043388429","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/29c42d0c-6d57-4d97-ae13-0b5043388429","object_type":"device","rebac_allow":false,"scope_allow":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":"04b85040-3d2f-11ef-b932-e1799b48160b"},"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/29c42d0c-6d57-4d97-ae13-0b5043388429/signaling 200 12ms","method":"POST","requestID":"04b85040-3d2f-11ef-b932-e1799b48160b","responseTime":12,"status":200,"url":"/devices/29c42d0c-6d57-4d97-ae13-0b5043388429/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2Mn0.906RGgCFI2C6Z8GPz5kWbMhluxC2fgspWIxx8FyleGY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b38d86bc33b738486aa5653d0f68572e","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/657dd037-bd33-49c6-848e-cd42a07abae0"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:02Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.403017,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/657dd037-bd33-49c6-848e-cd42a07abae0","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/657dd037-bd33-49c6-848e-cd42a07abae0","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445762,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2Mn0.906RGgCFI2C6Z8GPz5kWbMhluxC2fgspWIxx8FyleGY"} 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":"b38d86bc33b738486aa5653d0f68572e"},"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/657dd037-bd33-49c6-848e-cd42a07abae0"} experiment-1 | {"level":"info","message":"GET /experiments/657dd037-bd33-49c6-848e-cd42a07abae0 200 15ms","method":"GET","requestID":"b38d86bc33b738486aa5653d0f68572e","responseTime":15,"status":200,"url":"/experiments/657dd037-bd33-49c6-848e-cd42a07abae0"} gateway-1 | {"time_local":"08/Jul/2024:13:36:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/657dd037-bd33-49c6-848e-cd42a07abae0 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":"b38d86bc33b738486aa5653d0f68572e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2Mn0.906RGgCFI2C6Z8GPz5kWbMhluxC2fgspWIxx8FyleGY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"092b92049fb1a44b04c05a832cc1f5c2","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/657dd037-bd33-49c6-848e-cd42a07abae0"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:02Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.823084,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:02Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/657dd037-bd33-49c6-848e-cd42a07abae0","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/657dd037-bd33-49c6-848e-cd42a07abae0","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445762,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2Mn0.906RGgCFI2C6Z8GPz5kWbMhluxC2fgspWIxx8FyleGY"} 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":"092b92049fb1a44b04c05a832cc1f5c2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/657dd037-bd33-49c6-848e-cd42a07abae0"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:02Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.364557,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:02Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3e7f1e50-c3f7-4e33-939d-ee9a4f6802c8","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:http://localhost/peerconnections/3e7f1e50-c3f7-4e33-939d-ee9a4f6802c8","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445762,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2Mn0.906RGgCFI2C6Z8GPz5kWbMhluxC2fgspWIxx8FyleGY"} 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":"04c60be0-3d2f-11ef-b932-e1799b48160b"},"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/3e7f1e50-c3f7-4e33-939d-ee9a4f6802c8' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/3e7f1e50-c3f7-4e33-939d-ee9a4f6802c8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3e7f1e50-c3f7-4e33-939d-ee9a4f6802c8","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3e7f1e50-c3f7-4e33-939d-ee9a4f6802c8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3e7f1e50-c3f7-4e33-939d-ee9a4f6802c8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"25439f11-8a01-4bb1-ae14-aeeb4ad0b4c8","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445762.4862232} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"9b96452904d9c35817dc5c8a7f759a37","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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4e1cfb9f-7658-4cab-b8aa-eed5fce6c469","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445762.4866827} 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":"04c60be0-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/1473a595-6c42-4962-bac9-53ac52d105fc"},{"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/29c42d0c-6d57-4d97-ae13-0b5043388429"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3e7f1e50-c3f7-4e33-939d-ee9a4f6802c8"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"084af82023d4924158b96f700ae43511","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/1473a595-6c42-4962-bac9-53ac52d105fc"},{"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/29c42d0c-6d57-4d97-ae13-0b5043388429"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3e7f1e50-c3f7-4e33-939d-ee9a4f6802c8"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"3e7f1e50-c3f7-4e33-939d-ee9a4f6802c8","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/3e7f1e50-c3f7-4e33-939d-ee9a4f6802c8 204 47ms","method":"DELETE","requestID":"04c60be0-3d2f-11ef-b932-e1799b48160b","responseTime":47,"status":204,"url":"/peerconnections/3e7f1e50-c3f7-4e33-939d-ee9a4f6802c8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/657dd037-bd33-49c6-848e-cd42a07abae0"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:02Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1473a595-6c42-4962-bac9-53ac52d105fc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3b79df6e-45fd-4f78-bdc5-ca4cfb69d6ab","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445762.539087} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.913997,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1473a595-6c42-4962-bac9-53ac52d105fc","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1473a595-6c42-4962-bac9-53ac52d105fc","object_type":"device","rebac_allow":false,"scope_allow":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":"04d0ba40-3d2f-11ef-b932-e1799b48160b"},"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/1473a595-6c42-4962-bac9-53ac52d105fc/signaling 200 14ms","method":"POST","requestID":"04d0ba40-3d2f-11ef-b932-e1799b48160b","responseTime":14,"status":200,"url":"/devices/1473a595-6c42-4962-bac9-53ac52d105fc/signaling"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F657dd037-bd33-49c6-848e-cd42a07abae0': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F657dd037-bd33-49c6-848e-cd42a07abae0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"e0ac5c94-3849-498c-afe7-66eebf0bed87","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445762.547372} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6c006330-40e1-4e9f-bed7-862a3c012f5b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445762.5481992} 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":"092b92049fb1a44b04c05a832cc1f5c2"},"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:58630","level":"info","msg":"Received request.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:02Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29c42d0c-6d57-4d97-ae13-0b5043388429","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fbd4cd99-6873-4308-ab2e-8f1d4f777083","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445762.5565019} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.958396,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/29c42d0c-6d57-4d97-ae13-0b5043388429","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/29c42d0c-6d57-4d97-ae13-0b5043388429","object_type":"device","rebac_allow":false,"scope_allow":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":"04d37960-3d2f-11ef-b932-e1799b48160b"},"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/29c42d0c-6d57-4d97-ae13-0b5043388429/signaling 200 13ms","method":"POST","requestID":"04d37960-3d2f-11ef-b932-e1799b48160b","responseTime":13,"status":200,"url":"/devices/29c42d0c-6d57-4d97-ae13-0b5043388429/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/657dd037-bd33-49c6-848e-cd42a07abae0"} gateway-1 | {"time_local":"08/Jul/2024:13:36:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/657dd037-bd33-49c6-848e-cd42a07abae0 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.178","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"092b92049fb1a44b04c05a832cc1f5c2"} gateway-1 | {"time_local":"08/Jul/2024:13:36:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2797","request_time":"4.177","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"3f95c31767dd6daf5b8b646f853da0d4"} experiment-1 | {"level":"info","message":"DELETE /experiments/657dd037-bd33-49c6-848e-cd42a07abae0 204 174ms","method":"DELETE","requestID":"092b92049fb1a44b04c05a832cc1f5c2","responseTime":174,"status":204,"url":"/experiments/657dd037-bd33-49c6-848e-cd42a07abae0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 134ms","method":"POST","requestID":"9b96452904d9c35817dc5c8a7f759a37","responseTime":134,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:36:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.139","http_referrer":"","http_user_agent":"node-fetch","requestID":"9b96452904d9c35817dc5c8a7f759a37"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 134ms","method":"POST","requestID":"084af82023d4924158b96f700ae43511","responseTime":134,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:36:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.140","http_referrer":"","http_user_agent":"node-fetch","requestID":"084af82023d4924158b96f700ae43511"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2Mn0.906RGgCFI2C6Z8GPz5kWbMhluxC2fgspWIxx8FyleGY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"296c8651ca7eb48d5ef3175852699dfe","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:02Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.067343,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:02Z"} gateway-1 | {"time_local":"08/Jul/2024:13:36:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2709","request_time":"2.686","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1637b0760d4ec3cebce90fd317b21d0c"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445762,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2Mn0.906RGgCFI2C6Z8GPz5kWbMhluxC2fgspWIxx8FyleGY"} 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":"296c8651ca7eb48d5ef3175852699dfe"},"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/29c42d0c-6d57-4d97-ae13-0b5043388429' 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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"dd119ead-50eb-4b46-a33c-4989622dfe76","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445762.649849} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"296c8651ca7eb48d5ef3175852699dfe"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0ae8faf7-98a9-4657-ac9b-bc5ddc5b6b49","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445762.654476} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1473a595-6c42-4962-bac9-53ac52d105fc' closed"} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"296c8651ca7eb48d5ef3175852699dfe"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"f83673b0-7781-4202-991f-799a0a130f44","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445762.6693802} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"26174c86-0b57-4295-bec8-0213f832dd0f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445762.6695566} 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":"296c8651ca7eb48d5ef3175852699dfe"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:02.669354799Z"}]},"request_id":"9d44be77-dd5e-421d-bdc2-896478ea29a4","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445762.673696} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"296c8651ca7eb48d5ef3175852699dfe"},"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":"296c8651ca7eb48d5ef3175852699dfe","responseTime":47,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:13:36:02 +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":"296c8651ca7eb48d5ef3175852699dfe"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2Mn0.906RGgCFI2C6Z8GPz5kWbMhluxC2fgspWIxx8FyleGY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e93b74735b5adcb6e884d622d8084ca3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:02Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.743267,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445762,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2Mn0.906RGgCFI2C6Z8GPz5kWbMhluxC2fgspWIxx8FyleGY"} 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":"e93b74735b5adcb6e884d622d8084ca3"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72b8c610-9f93-4f89-88fd-943ed4ac54a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b174f519-a448-4027-bdab-4ba7926e8eb6","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445762.6967974} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e93b74735b5adcb6e884d622d8084ca3"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"756c767a-6da3-451c-9daa-61ee945e10d0","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445762.7016175} 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":"e93b74735b5adcb6e884d622d8084ca3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72b8c610-9f93-4f89-88fd-943ed4ac54a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"b9b261f0-824b-40d3-96cd-11fd41f11edc","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445762.711495} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"956b7b60-80c4-4959-880b-643d08fb8194","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445762.711786} 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":"e93b74735b5adcb6e884d622d8084ca3"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72b8c610-9f93-4f89-88fd-943ed4ac54a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72b8c610-9f93-4f89-88fd-943ed4ac54a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:02.711461520Z"}]},"request_id":"37728635-5e86-4b1d-be23-febb8d05be64","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445762.7156773} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e93b74735b5adcb6e884d622d8084ca3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:36:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e93b74735b5adcb6e884d622d8084ca3"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"e93b74735b5adcb6e884d622d8084ca3","responseTime":36,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2M30.xQC20ZKCw8Nw1tz3qjprfDZxZzdvla05yqFBdCR1T6E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9b2a1d50e6ab5d09dc4c0dfdb58b6fde","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:03Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.163223,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:03Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445763,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2M30.xQC20ZKCw8Nw1tz3qjprfDZxZzdvla05yqFBdCR1T6E"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b2a1d50e6ab5d09dc4c0dfdb58b6fde"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:02.669354799Z"}]},"request_id":"6bdf13c6-111c-48ba-8ba5-2ab1641516c2","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445763.2116086} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b2a1d50e6ab5d09dc4c0dfdb58b6fde"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4d3c7d2c-bee9-4851-a7c2-2aa067fd4a52","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445763.2178001} 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":"9b2a1d50e6ab5d09dc4c0dfdb58b6fde"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:02.669354799Z"}]},"request_id":"36a8359c-83be-427b-ac77-e90978731484","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445763.2308164} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b2a1d50e6ab5d09dc4c0dfdb58b6fde"},"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/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0 200 34ms","method":"PATCH","requestID":"9b2a1d50e6ab5d09dc4c0dfdb58b6fde","responseTime":34,"status":200,"url":"/devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0"} gateway-1 | {"time_local":"08/Jul/2024:13:36:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"9b2a1d50e6ab5d09dc4c0dfdb58b6fde"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2M30.xQC20ZKCw8Nw1tz3qjprfDZxZzdvla05yqFBdCR1T6E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"72e64581e0702f61ca299eec83f6d153","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:03Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.188658,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:03Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445763,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2M30.xQC20ZKCw8Nw1tz3qjprfDZxZzdvla05yqFBdCR1T6E"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"72e64581e0702f61ca299eec83f6d153"},"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/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0/websocket 200 20ms","method":"POST","requestID":"72e64581e0702f61ca299eec83f6d153","responseTime":20,"status":200,"url":"/devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:36:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"72e64581e0702f61ca299eec83f6d153"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"921ee84facca39e888c95ea5beff1802","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:36:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3/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":"921ee84facca39e888c95ea5beff1802"} device-1 | {"level":"info","message":"OPTIONS /devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3/websocket 200 1ms","method":"OPTIONS","requestID":"921ee84facca39e888c95ea5beff1802","responseTime":1,"status":200,"url":"/devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2NH0.FjopdKsG2pFgrHjfSB_v8I7ZCi03azqOtdngrT7GS_o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"78062f2830c9f53655e990c111dbbae9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:04Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.24193,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:04Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445764,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2NH0.FjopdKsG2pFgrHjfSB_v8I7ZCi03azqOtdngrT7GS_o"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"78062f2830c9f53655e990c111dbbae9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:36:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"78062f2830c9f53655e990c111dbbae9"} device-1 | {"level":"info","message":"POST /devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3/websocket 200 21ms","method":"POST","requestID":"78062f2830c9f53655e990c111dbbae9","responseTime":21,"status":200,"url":"/devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2NH0.FjopdKsG2pFgrHjfSB_v8I7ZCi03azqOtdngrT7GS_o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0f1cc5dfacdd0e7506e36d40938bf431","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:04Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.946031,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445764,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2NH0.FjopdKsG2pFgrHjfSB_v8I7ZCi03azqOtdngrT7GS_o"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0f1cc5dfacdd0e7506e36d40938bf431"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:02.669354799Z"}]},"request_id":"999d43af-0341-482e-9635-a46fadfaafa4","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445764.8069348} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0f1cc5dfacdd0e7506e36d40938bf431"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:36:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0f1cc5dfacdd0e7506e36d40938bf431"} device-1 | {"level":"info","message":"GET /devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0? 200 18ms","method":"GET","requestID":"0f1cc5dfacdd0e7506e36d40938bf431","responseTime":18,"status":200,"url":"/devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2NH0.FjopdKsG2pFgrHjfSB_v8I7ZCi03azqOtdngrT7GS_o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2c0ca8f0525d77dca7e01b75fa4693ef","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:04Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.198537,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445764,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2NH0.FjopdKsG2pFgrHjfSB_v8I7ZCi03azqOtdngrT7GS_o"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2c0ca8f0525d77dca7e01b75fa4693ef"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72b8c610-9f93-4f89-88fd-943ed4ac54a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72b8c610-9f93-4f89-88fd-943ed4ac54a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:02.711461520Z"}]},"request_id":"e7d31768-963f-4a76-bbf7-ea8c73fb0681","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445764.831602} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2c0ca8f0525d77dca7e01b75fa4693ef"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:36:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3? 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":"2c0ca8f0525d77dca7e01b75fa4693ef"} device-1 | {"level":"info","message":"GET /devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3? 200 15ms","method":"GET","requestID":"2c0ca8f0525d77dca7e01b75fa4693ef","responseTime":15,"status":200,"url":"/devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2NH0.FjopdKsG2pFgrHjfSB_v8I7ZCi03azqOtdngrT7GS_o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"852f4a8f380a211a57504b2c79b15c64","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:58630","level":"info","msg":"Received request.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:04Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.257186,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445764,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2NH0.FjopdKsG2pFgrHjfSB_v8I7ZCi03azqOtdngrT7GS_o"} 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":"852f4a8f380a211a57504b2c79b15c64"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ca31bc7-a275-4c5e-b582-c94f42350fb2"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ca31bc7-a275-4c5e-b582-c94f42350fb2"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ca31bc7-a275-4c5e-b582-c94f42350fb2"},"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:58630","level":"info","msg":"Received request.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:04Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.974347,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445764,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2NH0.FjopdKsG2pFgrHjfSB_v8I7ZCi03azqOtdngrT7GS_o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"06381270-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:60264","level":"info","msg":"Received request.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:04Z"} authorization-1 | {"client_addr":"127.0.0.1:60264","level":"info","msg":"Sent response.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.481221,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445764,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2NH0.FjopdKsG2pFgrHjfSB_v8I7ZCi03azqOtdngrT7GS_o"} 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":"06386090-3d2f-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:02.669354799Z"}]},"request_id":"360e84f6-fe3f-42eb-a5a0-1c4322caf991","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445764.8985248} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"06381270-3d2f-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72b8c610-9f93-4f89-88fd-943ed4ac54a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72b8c610-9f93-4f89-88fd-943ed4ac54a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:02.711461520Z"}]},"request_id":"dd6e7021-5860-4a36-9852-e50664d0f3ec","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445764.903963} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0? 200 18ms","method":"GET","requestID":"06381270-3d2f-11ef-b932-e1799b48160b","responseTime":18,"status":200,"url":"/devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"06386090-3d2f-11ef-b932-e1799b48160b"},"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/72b8c610-9f93-4f89-88fd-943ed4ac54a3? 200 20ms","method":"GET","requestID":"06386090-3d2f-11ef-b932-e1799b48160b","responseTime":20,"status":200,"url":"/devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ca31bc7-a275-4c5e-b582-c94f42350fb2"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ca31bc7-a275-4c5e-b582-c94f42350fb2"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ca31bc7-a275-4c5e-b582-c94f42350fb2"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ca31bc7-a275-4c5e-b582-c94f42350fb2"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ca31bc7-a275-4c5e-b582-c94f42350fb2"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ca31bc7-a275-4c5e-b582-c94f42350fb2"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ca31bc7-a275-4c5e-b582-c94f42350fb2"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ca31bc7-a275-4c5e-b582-c94f42350fb2"},"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/3ca31bc7-a275-4c5e-b582-c94f42350fb2"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:04Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.760956,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:04Z"} authorization-1 | {"client_addr":"127.0.0.1:60264","level":"info","msg":"Received request.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445764,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2NH0.FjopdKsG2pFgrHjfSB_v8I7ZCi03azqOtdngrT7GS_o"} 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":"0643d240-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:60264","level":"info","msg":"Sent response.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.981918,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445764,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2NH0.FjopdKsG2pFgrHjfSB_v8I7ZCi03azqOtdngrT7GS_o"} 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":"06442060-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"client_addr":"127.0.0.1:60276","level":"info","msg":"Received request.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:04Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:02.669354799Z"}]},"request_id":"d4b57021-8f53-460d-9b46-8ee2b0fc9300","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445764.98881} 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":"0643d240-3d2f-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72b8c610-9f93-4f89-88fd-943ed4ac54a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72b8c610-9f93-4f89-88fd-943ed4ac54a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:02.711461520Z"}]},"request_id":"4e4fc88d-ffec-427c-8dac-68c78d8d2a00","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445764.9899836} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c6624570-ee4a-4543-adca-a7a83df9a697","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445764.9904635} 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":"06442060-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:60276","level":"info","msg":"Sent response.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":8.579095,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 23ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"06446e80-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":23}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1270b4de-03be-421a-b3c8-1db619caffd3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445764.9995966} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3ca31bc7-a275-4c5e-b582-c94f42350fb2#owner@http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3ca31bc7-a275-4c5e-b582-c94f42350fb2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"1a7c7294-a754-42ec-bfd7-7dd9a51a0991","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445764.9998536} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0? 200 38ms","method":"GET","requestID":"0643d240-3d2f-11ef-b932-e1799b48160b","responseTime":38,"status":200,"url":"/devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0?"} 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":"852f4a8f380a211a57504b2c79b15c64"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":26}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3? 200 38ms","method":"GET","requestID":"06442060-3d2f-11ef-b932-e1799b48160b","responseTime":38,"status":200,"url":"/devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0/signaling 200 42ms","method":"POST","requestID":"06446e80-3d2f-11ef-b932-e1799b48160b","responseTime":42,"status":200,"url":"/devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/3ca31bc7-a275-4c5e-b582-c94f42350fb2","user":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} gateway-1 | {"time_local":"08/Jul/2024:13:36:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.175","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"852f4a8f380a211a57504b2c79b15c64"} experiment-1 | {"level":"info","message":"POST /experiments? 201 169ms","method":"POST","requestID":"852f4a8f380a211a57504b2c79b15c64","responseTime":169,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:05Z"} authorization-1 | {"client_addr":"127.0.0.1:60264","level":"info","msg":"Received request.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:05Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"81fa2094-53ed-460e-a280-c405f8179fe9","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445765.0170877} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.853834,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:05Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2NX0.iIn-2pDGkfcVi_Ge25POmrRu9dFAIrJWWWTFr07_6Qo","level":"info","message":"auth send jwt"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","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":"55b79463b3e957f522227351f49b673b","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":"064afe30-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72b8c610-9f93-4f89-88fd-943ed4ac54a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a4191d0d-d835-4e92-92a0-640079d14dc6","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445765.0183582} authorization-1 | {"client_addr":"127.0.0.1:60264","level":"info","msg":"Sent response.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.038893,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:05Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"POST /devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0/signaling 200 14ms","method":"POST","requestID":"064afe30-3d2f-11ef-b932-e1799b48160b","responseTime":14,"status":200,"url":"/devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0/signaling"} 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":"064b4c50-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:05Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3/signaling 200 16ms","method":"POST","requestID":"064b4c50-3d2f-11ef-b932-e1799b48160b","responseTime":16,"status":200,"url":"/devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3/signaling"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.068908,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:05Z"} authorization-1 | {"client_addr":"127.0.0.1:60264","level":"info","msg":"Received request.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445765,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2NX0.iIn-2pDGkfcVi_Ge25POmrRu9dFAIrJWWWTFr07_6Qo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"55b79463b3e957f522227351f49b673b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72b8c610-9f93-4f89-88fd-943ed4ac54a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ce3635c6-de26-4ed2-9b57-7c3b50a8a04e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445765.0323842} authorization-1 | {"client_addr":"127.0.0.1:60264","level":"info","msg":"Sent response.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.002549,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"064d6f30-3d2f-11ef-b932-e1799b48160b"},"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/72b8c610-9f93-4f89-88fd-943ed4ac54a3/signaling 200 10ms","method":"POST","requestID":"064d6f30-3d2f-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3/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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:02.669354799Z"}]},"request_id":"5911ba80-1ddd-4048-bd7c-62f6b2e4e2b7","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445765.0372875} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ca31bc7-a275-4c5e-b582-c94f42350fb2"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ca31bc7-a275-4c5e-b582-c94f42350fb2"},"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":"15e599cd-de28-421b-b35a-cbf9ae3e68b4"},{"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":"1d625243-bc70-4858-b4ff-d78f60e89982"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"68d7de05-fab1-41f5-abdc-cade7549480c"}]},"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/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0"},{"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/72b8c610-9f93-4f89-88fd-943ed4ac54a3"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"55b79463b3e957f522227351f49b673b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:36:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"55b79463b3e957f522227351f49b673b"} device-1 | {"level":"info","message":"GET /devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0? 200 22ms","method":"GET","requestID":"55b79463b3e957f522227351f49b673b","responseTime":22,"status":200,"url":"/devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2NX0.iIn-2pDGkfcVi_Ge25POmrRu9dFAIrJWWWTFr07_6Qo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d410a820294dea311e1d9d9f9c82afd4","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.594044,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:05Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445764,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2NH0.FjopdKsG2pFgrHjfSB_v8I7ZCi03azqOtdngrT7GS_o"} 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":"064f6b00-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:05Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.642368,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445765,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2NX0.iIn-2pDGkfcVi_Ge25POmrRu9dFAIrJWWWTFr07_6Qo"} 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":"d410a820294dea311e1d9d9f9c82afd4"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72b8c610-9f93-4f89-88fd-943ed4ac54a3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72b8c610-9f93-4f89-88fd-943ed4ac54a3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:02.711461520Z"}]},"request_id":"1a271a43-ad76-47fb-99f7-a1643eff47f7","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445765.0603197} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d410a820294dea311e1d9d9f9c82afd4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","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%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"cf9511e7-ce33-4c69-aa4e-fc588a3ca5d1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445765.0616174} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"47838e02-104f-48dd-98c5-db8a1591259a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445765.0618546} 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":"064f6b00-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3? 200 14ms","method":"GET","requestID":"d410a820294dea311e1d9d9f9c82afd4","responseTime":14,"status":200,"url":"/devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3?"} gateway-1 | {"time_local":"08/Jul/2024:13:36:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3? 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":"d410a820294dea311e1d9d9f9c82afd4"} 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/9ae8d71b-6053-4bd4-b0fc-ba6a43248a2e'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/9ae8d71b-6053-4bd4-b0fc-ba6a43248a2e'"} 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":"064f6b00-3d2f-11ef-b932-e1799b48160b","responseTime":36,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ca31bc7-a275-4c5e-b582-c94f42350fb2"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:05Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"90ece14c-1e10-42c6-a5dc-0e4c28f680d5","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445765.1051261} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.08488,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"065892c0-3d2f-11ef-b932-e1799b48160b"},"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/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0/signaling 200 9ms","method":"POST","requestID":"065892c0-3d2f-11ef-b932-e1799b48160b","responseTime":9,"status":200,"url":"/devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:05Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72b8c610-9f93-4f89-88fd-943ed4ac54a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"26af1a25-edba-4ffb-8e53-5db0cbb926b9","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445765.1151934} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.655033,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3","object_type":"device","rebac_allow":false,"scope_allow":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":"065a1960-3d2f-11ef-b932-e1799b48160b"},"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/72b8c610-9f93-4f89-88fd-943ed4ac54a3/signaling 200 10ms","method":"POST","requestID":"065a1960-3d2f-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3/signaling"} device-1 | {"data":{"peerconnection":"9ae8d71b-6053-4bd4-b0fc-ba6a43248a2e","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/9ae8d71b-6053-4bd4-b0fc-ba6a43248a2e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9ae8d71b-6053-4bd4-b0fc-ba6a43248a2e","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"49bc6a44d0a52afc006ee98dfa1e7836","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/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0"},{"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/72b8c610-9f93-4f89-88fd-943ed4ac54a3"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/9ae8d71b-6053-4bd4-b0fc-ba6a43248a2e"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"49bc6a44d0a52afc006ee98dfa1e7836","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:36:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"49bc6a44d0a52afc006ee98dfa1e7836"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3'"} device-1 | {"data":{"peerconnection":"9ae8d71b-6053-4bd4-b0fc-ba6a43248a2e","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"9ae8d71b-6053-4bd4-b0fc-ba6a43248a2e","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/9ae8d71b-6053-4bd4-b0fc-ba6a43248a2e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9ae8d71b-6053-4bd4-b0fc-ba6a43248a2e","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b49321d90cfb398c1cff6c82615f03c5","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/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0"},{"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/72b8c610-9f93-4f89-88fd-943ed4ac54a3"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/9ae8d71b-6053-4bd4-b0fc-ba6a43248a2e"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:07Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9ae8d71b-6053-4bd4-b0fc-ba6a43248a2e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"12de5f36-c422-4b6b-9df7-d988f5c1846b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445767.2222085} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.784919,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9ae8d71b-6053-4bd4-b0fc-ba6a43248a2e","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/9ae8d71b-6053-4bd4-b0fc-ba6a43248a2e","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":"079b7300-3d2f-11ef-b932-e1799b48160b"},"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/9ae8d71b-6053-4bd4-b0fc-ba6a43248a2e 200 10ms","method":"GET","requestID":"079b7300-3d2f-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/peerconnections/9ae8d71b-6053-4bd4-b0fc-ba6a43248a2e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 36ms","method":"POST","requestID":"b49321d90cfb398c1cff6c82615f03c5","responseTime":36,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:36:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch","requestID":"b49321d90cfb398c1cff6c82615f03c5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:07Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6b0d3502-9d98-4882-9325-5974d45ec767","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445767.2560818} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.004734,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","object_type":"device","rebac_allow":false,"scope_allow":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":"07a07c10-3d2f-11ef-b932-e1799b48160b"},"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/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0/signaling 200 13ms","method":"POST","requestID":"07a07c10-3d2f-11ef-b932-e1799b48160b","responseTime":13,"status":200,"url":"/devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:07Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72b8c610-9f93-4f89-88fd-943ed4ac54a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"27cd8981-64af-416c-950c-db95c4de72d1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445767.2720964} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.884044,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3","object_type":"device","rebac_allow":false,"scope_allow":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":"07a2ed10-3d2f-11ef-b932-e1799b48160b"},"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/72b8c610-9f93-4f89-88fd-943ed4ac54a3/signaling 200 13ms","method":"POST","requestID":"07a2ed10-3d2f-11ef-b932-e1799b48160b","responseTime":13,"status":200,"url":"/devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2N30.mI6ncQdRVvFtfbfilZ0ka4JcaGGBMEfly1Tma9KVK-k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"6eca2001c4b29a4b76dca13a729aae37","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3ca31bc7-a275-4c5e-b582-c94f42350fb2"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:07Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.226704,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3ca31bc7-a275-4c5e-b582-c94f42350fb2","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/3ca31bc7-a275-4c5e-b582-c94f42350fb2","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445767,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2N30.mI6ncQdRVvFtfbfilZ0ka4JcaGGBMEfly1Tma9KVK-k"} 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":"6eca2001c4b29a4b76dca13a729aae37"},"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/3ca31bc7-a275-4c5e-b582-c94f42350fb2"} gateway-1 | {"time_local":"08/Jul/2024:13:36:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3ca31bc7-a275-4c5e-b582-c94f42350fb2 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":"6eca2001c4b29a4b76dca13a729aae37"} experiment-1 | {"level":"info","message":"GET /experiments/3ca31bc7-a275-4c5e-b582-c94f42350fb2 200 15ms","method":"GET","requestID":"6eca2001c4b29a4b76dca13a729aae37","responseTime":15,"status":200,"url":"/experiments/3ca31bc7-a275-4c5e-b582-c94f42350fb2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2N30.mI6ncQdRVvFtfbfilZ0ka4JcaGGBMEfly1Tma9KVK-k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ebf49ad251c2f60be3115b9985a90db4","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3ca31bc7-a275-4c5e-b582-c94f42350fb2"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:07Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.232594,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:07Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3ca31bc7-a275-4c5e-b582-c94f42350fb2","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/3ca31bc7-a275-4c5e-b582-c94f42350fb2","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445767,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2N30.mI6ncQdRVvFtfbfilZ0ka4JcaGGBMEfly1Tma9KVK-k"} 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":"ebf49ad251c2f60be3115b9985a90db4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ca31bc7-a275-4c5e-b582-c94f42350fb2"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:07Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.394989,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:07Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9ae8d71b-6053-4bd4-b0fc-ba6a43248a2e","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:http://localhost/peerconnections/9ae8d71b-6053-4bd4-b0fc-ba6a43248a2e","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445767,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2N30.mI6ncQdRVvFtfbfilZ0ka4JcaGGBMEfly1Tma9KVK-k"} 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":"07b00c70-3d2f-11ef-b932-e1799b48160b"},"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/9ae8d71b-6053-4bd4-b0fc-ba6a43248a2e' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/9ae8d71b-6053-4bd4-b0fc-ba6a43248a2e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9ae8d71b-6053-4bd4-b0fc-ba6a43248a2e","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"180269a9dcdfcfedcf29dbc49a09a35f","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9ae8d71b-6053-4bd4-b0fc-ba6a43248a2e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9ae8d71b-6053-4bd4-b0fc-ba6a43248a2e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"6dc93592-6e9f-455a-9e85-030bcae41af0","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445767.3777115} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0"},{"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/72b8c610-9f93-4f89-88fd-943ed4ac54a3"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9ae8d71b-6053-4bd4-b0fc-ba6a43248a2e"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2788ab15c31cba0a3509932a41ad0a89","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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"98ab2ba8-cd64-4b19-a9cc-81c4cf8687fa","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445767.3782737} 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/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0"},{"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/72b8c610-9f93-4f89-88fd-943ed4ac54a3"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9ae8d71b-6053-4bd4-b0fc-ba6a43248a2e"}}},"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":"07b00c70-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"data":{"peerconnection":"9ae8d71b-6053-4bd4-b0fc-ba6a43248a2e","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/9ae8d71b-6053-4bd4-b0fc-ba6a43248a2e 204 46ms","method":"DELETE","requestID":"07b00c70-3d2f-11ef-b932-e1799b48160b","responseTime":46,"status":204,"url":"/peerconnections/9ae8d71b-6053-4bd4-b0fc-ba6a43248a2e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ca31bc7-a275-4c5e-b582-c94f42350fb2"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:07Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e776e451-cde8-42de-954c-08c6de52e43f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445767.4281225} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.101469,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0","object_type":"device","rebac_allow":false,"scope_allow":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":"07ba6cb0-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3ca31bc7-a275-4c5e-b582-c94f42350fb2': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3ca31bc7-a275-4c5e-b582-c94f42350fb2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"aa42d7a7-a185-4d5f-bce1-f03d609a3c91","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445767.4343424} device-1 | {"level":"info","message":"POST /devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0/signaling 200 16ms","method":"POST","requestID":"07ba6cb0-3d2f-11ef-b932-e1799b48160b","responseTime":16,"status":200,"url":"/devices/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0/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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"62f9e42b-8a9d-4019-b5a0-602e7f89f81d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445767.434756} 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":"ebf49ad251c2f60be3115b9985a90db4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:07Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72b8c610-9f93-4f89-88fd-943ed4ac54a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"243077d0-44b4-433a-8a59-6ccce59c78ce","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445767.4445996} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.002709,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3","object_type":"device","rebac_allow":false,"scope_allow":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":"07bd52e0-3d2f-11ef-b932-e1799b48160b"},"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/72b8c610-9f93-4f89-88fd-943ed4ac54a3/signaling 200 13ms","method":"POST","requestID":"07bd52e0-3d2f-11ef-b932-e1799b48160b","responseTime":13,"status":200,"url":"/devices/72b8c610-9f93-4f89-88fd-943ed4ac54a3/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3ca31bc7-a275-4c5e-b582-c94f42350fb2"} gateway-1 | {"time_local":"08/Jul/2024:13:36:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3ca31bc7-a275-4c5e-b582-c94f42350fb2 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.173","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ebf49ad251c2f60be3115b9985a90db4"} gateway-1 | {"time_local":"08/Jul/2024:13:36:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3193","request_time":"4.241","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"2ae13acab4399e1a17e910d9849eb75e"} experiment-1 | {"level":"info","message":"DELETE /experiments/3ca31bc7-a275-4c5e-b582-c94f42350fb2 204 169ms","method":"DELETE","requestID":"ebf49ad251c2f60be3115b9985a90db4","responseTime":169,"status":204,"url":"/experiments/3ca31bc7-a275-4c5e-b582-c94f42350fb2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 128ms","method":"POST","requestID":"180269a9dcdfcfedcf29dbc49a09a35f","responseTime":128,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:36: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.134","http_referrer":"","http_user_agent":"node-fetch","requestID":"180269a9dcdfcfedcf29dbc49a09a35f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 127ms","method":"POST","requestID":"2788ab15c31cba0a3509932a41ad0a89","responseTime":127,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:36:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.135","http_referrer":"","http_user_agent":"node-fetch","requestID":"2788ab15c31cba0a3509932a41ad0a89"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2N30.mI6ncQdRVvFtfbfilZ0ka4JcaGGBMEfly1Tma9KVK-k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d7464dad63c46304b71e13035c2894cf","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:13:36:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2702","request_time":"2.744","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5f15ce870d6ad9ddd1d049b0204931b7"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:07Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.193545,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445767,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2N30.mI6ncQdRVvFtfbfilZ0ka4JcaGGBMEfly1Tma9KVK-k"} 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":"d7464dad63c46304b71e13035c2894cf"},"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/1d76a6b6-bf1b-4fbf-8620-dc11fd1407c0' 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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b640966-b192-43ba-87c9-34cfd17b7ee4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"afa9f775-4e13-4074-a156-3da092964bdd","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445767.529984} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d7464dad63c46304b71e13035c2894cf"},"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/72b8c610-9f93-4f89-88fd-943ed4ac54a3' 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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c9f8a4ef-cf8e-4cf1-aab0-5976b2d630e7","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445767.5349898} 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":"d7464dad63c46304b71e13035c2894cf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b640966-b192-43ba-87c9-34cfd17b7ee4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"b9e2ed70-e32e-4bb5-b480-365440f98c56","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445767.5434744} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5c5503e3-1948-443a-9351-69631d903a42","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445767.5436063} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d7464dad63c46304b71e13035c2894cf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b640966-b192-43ba-87c9-34cfd17b7ee4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b640966-b192-43ba-87c9-34cfd17b7ee4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:07.543449696Z"}]},"request_id":"4f8699c5-0513-4dd4-9cc0-c58f6fb6cdda","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445767.5476673} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d7464dad63c46304b71e13035c2894cf"},"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":"d7464dad63c46304b71e13035c2894cf","responseTime":40,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:13:36: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.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d7464dad63c46304b71e13035c2894cf"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2N30.mI6ncQdRVvFtfbfilZ0ka4JcaGGBMEfly1Tma9KVK-k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d63509e0f24b2949619ff65343518a6d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:07Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.993299,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445767,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2N30.mI6ncQdRVvFtfbfilZ0ka4JcaGGBMEfly1Tma9KVK-k"} 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":"d63509e0f24b2949619ff65343518a6d"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33814004-3a61-4509-b15e-89a2e3700e05","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"95c87c12-ba00-4381-918d-bca468cc4cbe","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445767.5772166} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d63509e0f24b2949619ff65343518a6d"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2c7a553a-d290-42d1-9c7f-8dfc540dccc6","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445767.5815775} 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":"d63509e0f24b2949619ff65343518a6d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33814004-3a61-4509-b15e-89a2e3700e05","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"e8e9f8b9-9388-45c7-9ba5-cd815fecdfc2","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445767.5913541} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5d285c00-00b6-411b-9e9c-01139d5b6408","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445767.5915005} 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":"d63509e0f24b2949619ff65343518a6d"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33814004-3a61-4509-b15e-89a2e3700e05","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33814004-3a61-4509-b15e-89a2e3700e05","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:07.591330347Z"}]},"request_id":"cae4ef63-7c2e-40ba-88b7-38015bc40291","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445767.5954235} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d63509e0f24b2949619ff65343518a6d"},"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":"d63509e0f24b2949619ff65343518a6d","responseTime":41,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:13:36:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d63509e0f24b2949619ff65343518a6d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2OH0.-1yak7Xs2Wp-977ecQm0zZF_eqtEqXJJ7TIopT_sYmc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"bf102a6a923200d57408b6415f5b2995","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:08Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.24038,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b640966-b192-43ba-87c9-34cfd17b7ee4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/7b640966-b192-43ba-87c9-34cfd17b7ee4","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445768,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2OH0.-1yak7Xs2Wp-977ecQm0zZF_eqtEqXJJ7TIopT_sYmc"} 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":"bf102a6a923200d57408b6415f5b2995"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b640966-b192-43ba-87c9-34cfd17b7ee4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b640966-b192-43ba-87c9-34cfd17b7ee4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:07.543449696Z"}]},"request_id":"26281f28-5d24-4275-a345-95dcd6d4f541","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445768.0875921} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bf102a6a923200d57408b6415f5b2995"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2acc8b8f-8caf-4cc0-ab56-9da141f58905","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445768.092131} 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":"bf102a6a923200d57408b6415f5b2995"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b640966-b192-43ba-87c9-34cfd17b7ee4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b640966-b192-43ba-87c9-34cfd17b7ee4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:07.543449696Z"}]},"request_id":"0382beba-ebf7-4a9b-b3d9-7133a9273a00","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445768.1050286} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bf102a6a923200d57408b6415f5b2995"},"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/7b640966-b192-43ba-87c9-34cfd17b7ee4 200 31ms","method":"PATCH","requestID":"bf102a6a923200d57408b6415f5b2995","responseTime":31,"status":200,"url":"/devices/7b640966-b192-43ba-87c9-34cfd17b7ee4"} gateway-1 | {"time_local":"08/Jul/2024:13:36:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/7b640966-b192-43ba-87c9-34cfd17b7ee4 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.038","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"bf102a6a923200d57408b6415f5b2995"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2OH0.-1yak7Xs2Wp-977ecQm0zZF_eqtEqXJJ7TIopT_sYmc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a8c624b47e9ce0611646e442a56a4de3","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:08Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.092882,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b640966-b192-43ba-87c9-34cfd17b7ee4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/7b640966-b192-43ba-87c9-34cfd17b7ee4","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445768,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2OH0.-1yak7Xs2Wp-977ecQm0zZF_eqtEqXJJ7TIopT_sYmc"} 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":"a8c624b47e9ce0611646e442a56a4de3"},"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/7b640966-b192-43ba-87c9-34cfd17b7ee4/websocket 200 19ms","method":"POST","requestID":"a8c624b47e9ce0611646e442a56a4de3","responseTime":19,"status":200,"url":"/devices/7b640966-b192-43ba-87c9-34cfd17b7ee4/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:36:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7b640966-b192-43ba-87c9-34cfd17b7ee4/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.024","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a8c624b47e9ce0611646e442a56a4de3"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7b640966-b192-43ba-87c9-34cfd17b7ee4' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b8119bcdabf6b32dc8a8b26053b01005","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:36:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/33814004-3a61-4509-b15e-89a2e3700e05/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":"b8119bcdabf6b32dc8a8b26053b01005"} device-1 | {"level":"info","message":"OPTIONS /devices/33814004-3a61-4509-b15e-89a2e3700e05/websocket 200 2ms","method":"OPTIONS","requestID":"b8119bcdabf6b32dc8a8b26053b01005","responseTime":2,"status":200,"url":"/devices/33814004-3a61-4509-b15e-89a2e3700e05/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2OX0.nHScxe_LKICBcCTFlPpIHf3XRFsvy_VPtkZeFkrAhMA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"7182cfc22214fef97725692bcab8cda5","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:09Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.253662,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:09Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/33814004-3a61-4509-b15e-89a2e3700e05","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/33814004-3a61-4509-b15e-89a2e3700e05","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445769,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2OX0.nHScxe_LKICBcCTFlPpIHf3XRFsvy_VPtkZeFkrAhMA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7182cfc22214fef97725692bcab8cda5"},"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/33814004-3a61-4509-b15e-89a2e3700e05/websocket 200 21ms","method":"POST","requestID":"7182cfc22214fef97725692bcab8cda5","responseTime":21,"status":200,"url":"/devices/33814004-3a61-4509-b15e-89a2e3700e05/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:36:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/33814004-3a61-4509-b15e-89a2e3700e05/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7182cfc22214fef97725692bcab8cda5"} device-1 | {"level":"info","message":"device 'http://localhost/devices/33814004-3a61-4509-b15e-89a2e3700e05' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2OX0.nHScxe_LKICBcCTFlPpIHf3XRFsvy_VPtkZeFkrAhMA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"60091280438cfe70ca89c85150dca2a6","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:09Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.243164,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b640966-b192-43ba-87c9-34cfd17b7ee4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/7b640966-b192-43ba-87c9-34cfd17b7ee4","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445769,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2OX0.nHScxe_LKICBcCTFlPpIHf3XRFsvy_VPtkZeFkrAhMA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"60091280438cfe70ca89c85150dca2a6"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b640966-b192-43ba-87c9-34cfd17b7ee4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b640966-b192-43ba-87c9-34cfd17b7ee4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:07.543449696Z"}]},"request_id":"8d633f15-db22-4536-9b5a-a61d6d9ddb24","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445769.665014} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"60091280438cfe70ca89c85150dca2a6"},"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/7b640966-b192-43ba-87c9-34cfd17b7ee4? 200 15ms","method":"GET","requestID":"60091280438cfe70ca89c85150dca2a6","responseTime":15,"status":200,"url":"/devices/7b640966-b192-43ba-87c9-34cfd17b7ee4?"} gateway-1 | {"time_local":"08/Jul/2024:13:36:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7b640966-b192-43ba-87c9-34cfd17b7ee4? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"60091280438cfe70ca89c85150dca2a6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2OX0.nHScxe_LKICBcCTFlPpIHf3XRFsvy_VPtkZeFkrAhMA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"71d6e95d77b0fe56fe0ce988471caa3d","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:09Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.28249,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/33814004-3a61-4509-b15e-89a2e3700e05","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/33814004-3a61-4509-b15e-89a2e3700e05","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445769,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2OX0.nHScxe_LKICBcCTFlPpIHf3XRFsvy_VPtkZeFkrAhMA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"71d6e95d77b0fe56fe0ce988471caa3d"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33814004-3a61-4509-b15e-89a2e3700e05","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33814004-3a61-4509-b15e-89a2e3700e05","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:07.591330347Z"}]},"request_id":"19582e15-677a-405e-9c43-83e431c5f651","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445769.6889472} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"71d6e95d77b0fe56fe0ce988471caa3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:36:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/33814004-3a61-4509-b15e-89a2e3700e05? 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":"71d6e95d77b0fe56fe0ce988471caa3d"} device-1 | {"level":"info","message":"GET /devices/33814004-3a61-4509-b15e-89a2e3700e05? 200 17ms","method":"GET","requestID":"71d6e95d77b0fe56fe0ce988471caa3d","responseTime":17,"status":200,"url":"/devices/33814004-3a61-4509-b15e-89a2e3700e05?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2OX0.nHScxe_LKICBcCTFlPpIHf3XRFsvy_VPtkZeFkrAhMA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3fd3d9e7a5ab3a5637f7a88d7decf58c","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:58630","level":"info","msg":"Received request.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:09Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.141422,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445769,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2OX0.nHScxe_LKICBcCTFlPpIHf3XRFsvy_VPtkZeFkrAhMA"} 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":"3fd3d9e7a5ab3a5637f7a88d7decf58c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ecbe9696-0d85-439f-99cb-e2033bf3ae10"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ecbe9696-0d85-439f-99cb-e2033bf3ae10"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ecbe9696-0d85-439f-99cb-e2033bf3ae10"},"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:58630","level":"info","msg":"Received request.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:09Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.781183,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b640966-b192-43ba-87c9-34cfd17b7ee4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/7b640966-b192-43ba-87c9-34cfd17b7ee4","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445769,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2OX0.nHScxe_LKICBcCTFlPpIHf3XRFsvy_VPtkZeFkrAhMA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"091ce2e0-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:60278","level":"info","msg":"Received request.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:09Z"} authorization-1 | {"client_addr":"127.0.0.1:60278","level":"info","msg":"Sent response.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.961776,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/33814004-3a61-4509-b15e-89a2e3700e05","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/33814004-3a61-4509-b15e-89a2e3700e05","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445769,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2OX0.nHScxe_LKICBcCTFlPpIHf3XRFsvy_VPtkZeFkrAhMA"} 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":"091d09f0-3d2f-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b640966-b192-43ba-87c9-34cfd17b7ee4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b640966-b192-43ba-87c9-34cfd17b7ee4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:07.543449696Z"}]},"request_id":"4f27ae0f-41c1-42f7-aec7-b44ddac0e3f6","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445769.752943} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"091ce2e0-3d2f-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33814004-3a61-4509-b15e-89a2e3700e05","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33814004-3a61-4509-b15e-89a2e3700e05","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:07.591330347Z"}]},"request_id":"712dadbf-4ddc-4afa-a75f-d754696529d8","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445769.7561164} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"091d09f0-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"GET /devices/7b640966-b192-43ba-87c9-34cfd17b7ee4? 200 15ms","method":"GET","requestID":"091ce2e0-3d2f-11ef-b932-e1799b48160b","responseTime":15,"status":200,"url":"/devices/7b640966-b192-43ba-87c9-34cfd17b7ee4?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/33814004-3a61-4509-b15e-89a2e3700e05? 200 15ms","method":"GET","requestID":"091d09f0-3d2f-11ef-b932-e1799b48160b","responseTime":15,"status":200,"url":"/devices/33814004-3a61-4509-b15e-89a2e3700e05?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ecbe9696-0d85-439f-99cb-e2033bf3ae10"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ecbe9696-0d85-439f-99cb-e2033bf3ae10"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ecbe9696-0d85-439f-99cb-e2033bf3ae10"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ecbe9696-0d85-439f-99cb-e2033bf3ae10"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ecbe9696-0d85-439f-99cb-e2033bf3ae10"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ecbe9696-0d85-439f-99cb-e2033bf3ae10"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ecbe9696-0d85-439f-99cb-e2033bf3ae10"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ecbe9696-0d85-439f-99cb-e2033bf3ae10"},"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:58630","level":"info","msg":"Received request.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:09Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.735754,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:09Z"} authorization-1 | {"client_addr":"127.0.0.1:60278","level":"info","msg":"Received request.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:09Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ecbe9696-0d85-439f-99cb-e2033bf3ae10"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b640966-b192-43ba-87c9-34cfd17b7ee4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/7b640966-b192-43ba-87c9-34cfd17b7ee4","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445769,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2OX0.nHScxe_LKICBcCTFlPpIHf3XRFsvy_VPtkZeFkrAhMA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"09267fd0-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:60278","level":"info","msg":"Sent response.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.909628,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/33814004-3a61-4509-b15e-89a2e3700e05","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/33814004-3a61-4509-b15e-89a2e3700e05","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445769,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2OX0.nHScxe_LKICBcCTFlPpIHf3XRFsvy_VPtkZeFkrAhMA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0926cdf0-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:09Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b640966-b192-43ba-87c9-34cfd17b7ee4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"68fa43f7-7b1d-4993-9252-175f571b3eda","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445769.8141267} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33814004-3a61-4509-b15e-89a2e3700e05","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33814004-3a61-4509-b15e-89a2e3700e05","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:07.591330347Z"}]},"request_id":"0d614ddd-97bc-460d-a196-deeb5cc3ead4","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445769.8173406} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.984624,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b640966-b192-43ba-87c9-34cfd17b7ee4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b640966-b192-43ba-87c9-34cfd17b7ee4","object_type":"device","rebac_allow":false,"scope_allow":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":"0926f500-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0926cdf0-3d2f-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b640966-b192-43ba-87c9-34cfd17b7ee4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b640966-b192-43ba-87c9-34cfd17b7ee4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:07.543449696Z"}]},"request_id":"86e123cd-8d04-4d7b-b198-d720d60ae033","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445769.8189185} 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":"09267fd0-3d2f-11ef-b932-e1799b48160b"},"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/7b640966-b192-43ba-87c9-34cfd17b7ee4/signaling 200 16ms","method":"POST","requestID":"0926f500-3d2f-11ef-b932-e1799b48160b","responseTime":16,"status":200,"url":"/devices/7b640966-b192-43ba-87c9-34cfd17b7ee4/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/33814004-3a61-4509-b15e-89a2e3700e05? 200 18ms","method":"GET","requestID":"0926cdf0-3d2f-11ef-b932-e1799b48160b","responseTime":18,"status":200,"url":"/devices/33814004-3a61-4509-b15e-89a2e3700e05?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/7b640966-b192-43ba-87c9-34cfd17b7ee4? 200 23ms","method":"GET","requestID":"09267fd0-3d2f-11ef-b932-e1799b48160b","responseTime":23,"status":200,"url":"/devices/7b640966-b192-43ba-87c9-34cfd17b7ee4?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fecbe9696-0d85-439f-99cb-e2033bf3ae10#owner@http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fecbe9696-0d85-439f-99cb-e2033bf3ae10","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"1a17b69c-a959-4f39-8a07-9b3d2cb42094","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445769.8315458} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5d623159-37d6-4b20-af7d-3b6326ead6dd","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445769.8321335} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:09Z"} authorization-1 | {"client_addr":"127.0.0.1:60278","level":"info","msg":"Received request.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:09Z"} 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":"3fd3d9e7a5ab3a5637f7a88d7decf58c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":23}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33814004-3a61-4509-b15e-89a2e3700e05","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"66d98c2e-8fc5-40a6-aecc-b5d9859f76b7","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445769.8355706} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b640966-b192-43ba-87c9-34cfd17b7ee4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ba3a17aa-3c50-435b-bea5-d6d02643d0d8","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445769.8367033} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.29399,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/33814004-3a61-4509-b15e-89a2e3700e05","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/33814004-3a61-4509-b15e-89a2e3700e05","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"092a0240-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:60278","level":"info","msg":"Sent response.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.818726,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b640966-b192-43ba-87c9-34cfd17b7ee4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b640966-b192-43ba-87c9-34cfd17b7ee4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"092a5060-3d2f-11ef-b932-e1799b48160b"},"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/33814004-3a61-4509-b15e-89a2e3700e05/signaling 200 14ms","method":"POST","requestID":"092a0240-3d2f-11ef-b932-e1799b48160b","responseTime":14,"status":200,"url":"/devices/33814004-3a61-4509-b15e-89a2e3700e05/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/ecbe9696-0d85-439f-99cb-e2033bf3ae10","user":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/7b640966-b192-43ba-87c9-34cfd17b7ee4/signaling 200 12ms","method":"POST","requestID":"092a5060-3d2f-11ef-b932-e1799b48160b","responseTime":12,"status":200,"url":"/devices/7b640966-b192-43ba-87c9-34cfd17b7ee4/signaling"} gateway-1 | {"time_local":"08/Jul/2024:13:36:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.148","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3fd3d9e7a5ab3a5637f7a88d7decf58c"} experiment-1 | {"level":"info","message":"POST /experiments? 201 141ms","method":"POST","requestID":"3fd3d9e7a5ab3a5637f7a88d7decf58c","responseTime":141,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2OX0.nHScxe_LKICBcCTFlPpIHf3XRFsvy_VPtkZeFkrAhMA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"716bb8a82307d9f27f2a7f6411b90f50","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:09Z"} authorization-1 | {"client_addr":"127.0.0.1:60278","level":"info","msg":"Received request.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:09Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33814004-3a61-4509-b15e-89a2e3700e05","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3f2290e7-ef20-4ae3-83e6-a589e590768e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445769.8501728} authorization-1 | {"client_addr":"127.0.0.1:60278","level":"info","msg":"Sent response.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.722238,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:09Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.438771,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b640966-b192-43ba-87c9-34cfd17b7ee4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/7b640966-b192-43ba-87c9-34cfd17b7ee4","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445769,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2OX0.nHScxe_LKICBcCTFlPpIHf3XRFsvy_VPtkZeFkrAhMA"} 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":"716bb8a82307d9f27f2a7f6411b90f50"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/33814004-3a61-4509-b15e-89a2e3700e05","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/33814004-3a61-4509-b15e-89a2e3700e05","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"092cc160-3d2f-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b640966-b192-43ba-87c9-34cfd17b7ee4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b640966-b192-43ba-87c9-34cfd17b7ee4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:07.543449696Z"}]},"request_id":"6722f3ee-2fa0-43fe-b993-4fc06bfc0688","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445769.8545713} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/33814004-3a61-4509-b15e-89a2e3700e05/signaling 200 9ms","method":"POST","requestID":"092cc160-3d2f-11ef-b932-e1799b48160b","responseTime":9,"status":200,"url":"/devices/33814004-3a61-4509-b15e-89a2e3700e05/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":"716bb8a82307d9f27f2a7f6411b90f50"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ecbe9696-0d85-439f-99cb-e2033bf3ae10"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ecbe9696-0d85-439f-99cb-e2033bf3ae10"},"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":"26e1a15c-67f1-42ad-93b3-df3702c8a444"},{"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":"aaf247cb-febb-48f0-8cc2-ab62a3eaa71c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"a598ee8b-3b18-4b1d-9379-8600cbb901dc"}]},"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/33814004-3a61-4509-b15e-89a2e3700e05"},{"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/7b640966-b192-43ba-87c9-34cfd17b7ee4"}],"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/7b640966-b192-43ba-87c9-34cfd17b7ee4? 200 11ms","method":"GET","requestID":"716bb8a82307d9f27f2a7f6411b90f50","responseTime":11,"status":200,"url":"/devices/7b640966-b192-43ba-87c9-34cfd17b7ee4?"} gateway-1 | {"time_local":"08/Jul/2024:13:36:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7b640966-b192-43ba-87c9-34cfd17b7ee4? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"716bb8a82307d9f27f2a7f6411b90f50"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:09Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.920436,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445769,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2OX0.nHScxe_LKICBcCTFlPpIHf3XRFsvy_VPtkZeFkrAhMA"} 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":"092e6f10-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2OX0.nHScxe_LKICBcCTFlPpIHf3XRFsvy_VPtkZeFkrAhMA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9ecd7314c4ccb9fcd6645d018d5eb895","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:09Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.914639,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/33814004-3a61-4509-b15e-89a2e3700e05","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/33814004-3a61-4509-b15e-89a2e3700e05","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445769,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc2OX0.nHScxe_LKICBcCTFlPpIHf3XRFsvy_VPtkZeFkrAhMA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9ecd7314c4ccb9fcd6645d018d5eb895"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","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%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"d9a69acf-1e23-4e51-9291-1141a4e1dcf6","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445769.8696792} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"68703dd0-dd6d-48b3-9039-ee1ad1228f71","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445769.8698807} 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":"092e6f10-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33814004-3a61-4509-b15e-89a2e3700e05","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33814004-3a61-4509-b15e-89a2e3700e05","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:07.591330347Z"}]},"request_id":"8862a513-9dd6-4a71-92de-cb791a1bd356","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445769.8739288} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9ecd7314c4ccb9fcd6645d018d5eb895"},"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/31cd990e-cc55-4c53-b956-a937a97f8417'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/31cd990e-cc55-4c53-b956-a937a97f8417'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 27ms","method":"POST","requestID":"092e6f10-3d2f-11ef-b932-e1799b48160b","responseTime":27,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:36:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/33814004-3a61-4509-b15e-89a2e3700e05? 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":"9ecd7314c4ccb9fcd6645d018d5eb895"} device-1 | {"level":"info","message":"GET /devices/33814004-3a61-4509-b15e-89a2e3700e05? 200 20ms","method":"GET","requestID":"9ecd7314c4ccb9fcd6645d018d5eb895","responseTime":20,"status":200,"url":"/devices/33814004-3a61-4509-b15e-89a2e3700e05?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ecbe9696-0d85-439f-99cb-e2033bf3ae10"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:09Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b640966-b192-43ba-87c9-34cfd17b7ee4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5608754d-86ee-4ef4-966e-a4c85ba8777c","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445769.914405} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.340092,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b640966-b192-43ba-87c9-34cfd17b7ee4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b640966-b192-43ba-87c9-34cfd17b7ee4","object_type":"device","rebac_allow":false,"scope_allow":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":"09368560-3d2f-11ef-b932-e1799b48160b"},"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/7b640966-b192-43ba-87c9-34cfd17b7ee4/signaling 200 8ms","method":"POST","requestID":"09368560-3d2f-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/devices/7b640966-b192-43ba-87c9-34cfd17b7ee4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:09Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33814004-3a61-4509-b15e-89a2e3700e05","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d48977aa-2e44-4cbb-afc9-386d3e55e94b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445769.923733} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.155683,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/33814004-3a61-4509-b15e-89a2e3700e05","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/33814004-3a61-4509-b15e-89a2e3700e05","object_type":"device","rebac_allow":false,"scope_allow":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":"09380c00-3d2f-11ef-b932-e1799b48160b"},"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/33814004-3a61-4509-b15e-89a2e3700e05/signaling 200 7ms","method":"POST","requestID":"09380c00-3d2f-11ef-b932-e1799b48160b","responseTime":7,"status":200,"url":"/devices/33814004-3a61-4509-b15e-89a2e3700e05/signaling"} device-1 | {"data":{"peerconnection":"31cd990e-cc55-4c53-b956-a937a97f8417","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/31cd990e-cc55-4c53-b956-a937a97f8417' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"31cd990e-cc55-4c53-b956-a937a97f8417","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"49f91f0e486f04cfff31aad6cd28ce1c","responseTime":1,"status":200,"url":"/auth"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/33814004-3a61-4509-b15e-89a2e3700e05'"} 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/33814004-3a61-4509-b15e-89a2e3700e05"},{"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/7b640966-b192-43ba-87c9-34cfd17b7ee4"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/31cd990e-cc55-4c53-b956-a937a97f8417"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"49f91f0e486f04cfff31aad6cd28ce1c","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:36:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"49f91f0e486f04cfff31aad6cd28ce1c"} device-1 | {"data":{"peerconnection":"31cd990e-cc55-4c53-b956-a937a97f8417","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"31cd990e-cc55-4c53-b956-a937a97f8417","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/31cd990e-cc55-4c53-b956-a937a97f8417' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"31cd990e-cc55-4c53-b956-a937a97f8417","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"76540bdfb806e68ecf028fa6a4cf6d3f","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/33814004-3a61-4509-b15e-89a2e3700e05"},{"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/7b640966-b192-43ba-87c9-34cfd17b7ee4"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/31cd990e-cc55-4c53-b956-a937a97f8417"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:12Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F31cd990e-cc55-4c53-b956-a937a97f8417","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8c002b34-7578-4ee0-90aa-9c67d51b5106","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445772.0042672} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.331528,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/31cd990e-cc55-4c53-b956-a937a97f8417","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/31cd990e-cc55-4c53-b956-a937a97f8417","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":"0a7546f0-3d2f-11ef-b932-e1799b48160b"},"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/31cd990e-cc55-4c53-b956-a937a97f8417 200 9ms","method":"GET","requestID":"0a7546f0-3d2f-11ef-b932-e1799b48160b","responseTime":9,"status":200,"url":"/peerconnections/31cd990e-cc55-4c53-b956-a937a97f8417"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 38ms","method":"POST","requestID":"76540bdfb806e68ecf028fa6a4cf6d3f","responseTime":38,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:36: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.041","http_referrer":"","http_user_agent":"node-fetch","requestID":"76540bdfb806e68ecf028fa6a4cf6d3f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:12Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33814004-3a61-4509-b15e-89a2e3700e05","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7ca6db95-f26e-4ef4-8d99-b7749f3ff5a3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445772.0374901} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.139626,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/33814004-3a61-4509-b15e-89a2e3700e05","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/33814004-3a61-4509-b15e-89a2e3700e05","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0a7a5000-3d2f-11ef-b932-e1799b48160b"},"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/33814004-3a61-4509-b15e-89a2e3700e05/signaling 200 11ms","method":"POST","requestID":"0a7a5000-3d2f-11ef-b932-e1799b48160b","responseTime":11,"status":200,"url":"/devices/33814004-3a61-4509-b15e-89a2e3700e05/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:12Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b640966-b192-43ba-87c9-34cfd17b7ee4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b41ef01a-0b28-4c70-968f-be02961b0fca","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445772.051214} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.379919,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b640966-b192-43ba-87c9-34cfd17b7ee4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b640966-b192-43ba-87c9-34cfd17b7ee4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0a7c4bd0-3d2f-11ef-b932-e1799b48160b"},"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/7b640966-b192-43ba-87c9-34cfd17b7ee4/signaling 200 11ms","method":"POST","requestID":"0a7c4bd0-3d2f-11ef-b932-e1799b48160b","responseTime":11,"status":200,"url":"/devices/7b640966-b192-43ba-87c9-34cfd17b7ee4/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Mn0.dvntRbmHTGDgnpUwW0EQznftk4amxoroaphZX1jGyW4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c88ac7372da95850bcad27b8f73783d6","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ecbe9696-0d85-439f-99cb-e2033bf3ae10"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:12Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.093117,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ecbe9696-0d85-439f-99cb-e2033bf3ae10","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/ecbe9696-0d85-439f-99cb-e2033bf3ae10","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445772,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Mn0.dvntRbmHTGDgnpUwW0EQznftk4amxoroaphZX1jGyW4"} 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":"c88ac7372da95850bcad27b8f73783d6"},"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/ecbe9696-0d85-439f-99cb-e2033bf3ae10"} experiment-1 | {"level":"info","message":"GET /experiments/ecbe9696-0d85-439f-99cb-e2033bf3ae10 200 16ms","method":"GET","requestID":"c88ac7372da95850bcad27b8f73783d6","responseTime":16,"status":200,"url":"/experiments/ecbe9696-0d85-439f-99cb-e2033bf3ae10"} gateway-1 | {"time_local":"08/Jul/2024:13:36:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ecbe9696-0d85-439f-99cb-e2033bf3ae10 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":"c88ac7372da95850bcad27b8f73783d6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Mn0.dvntRbmHTGDgnpUwW0EQznftk4amxoroaphZX1jGyW4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d8a86d09751724b0a291f2bc992c33cb","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ecbe9696-0d85-439f-99cb-e2033bf3ae10"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:12Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.81514,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:12Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ecbe9696-0d85-439f-99cb-e2033bf3ae10","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/ecbe9696-0d85-439f-99cb-e2033bf3ae10","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445772,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Mn0.dvntRbmHTGDgnpUwW0EQznftk4amxoroaphZX1jGyW4"} 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":"d8a86d09751724b0a291f2bc992c33cb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ecbe9696-0d85-439f-99cb-e2033bf3ae10"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:12Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.282076,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:12Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/31cd990e-cc55-4c53-b956-a937a97f8417","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:http://localhost/peerconnections/31cd990e-cc55-4c53-b956-a937a97f8417","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445772,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Mn0.dvntRbmHTGDgnpUwW0EQznftk4amxoroaphZX1jGyW4"} 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":"0a8a0770-3d2f-11ef-b932-e1799b48160b"},"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/31cd990e-cc55-4c53-b956-a937a97f8417' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/31cd990e-cc55-4c53-b956-a937a97f8417' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"31cd990e-cc55-4c53-b956-a937a97f8417","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F31cd990e-cc55-4c53-b956-a937a97f8417': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F31cd990e-cc55-4c53-b956-a937a97f8417","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"ed83f7ee-3e08-4f54-9f8e-752a3d39ed8e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445772.1598105} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"672bf756-8cf5-47d1-8717-d5706620aca1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445772.1604676} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"87d1923304d895dc50a73f05c9c9aa2c","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0a8a0770-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/33814004-3a61-4509-b15e-89a2e3700e05"},{"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/7b640966-b192-43ba-87c9-34cfd17b7ee4"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/31cd990e-cc55-4c53-b956-a937a97f8417"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c43350333259ee9c7add6c1ca702ffc8","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/33814004-3a61-4509-b15e-89a2e3700e05"},{"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/7b640966-b192-43ba-87c9-34cfd17b7ee4"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/31cd990e-cc55-4c53-b956-a937a97f8417"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"31cd990e-cc55-4c53-b956-a937a97f8417","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/31cd990e-cc55-4c53-b956-a937a97f8417 204 46ms","method":"DELETE","requestID":"0a8a0770-3d2f-11ef-b932-e1799b48160b","responseTime":46,"status":204,"url":"/peerconnections/31cd990e-cc55-4c53-b956-a937a97f8417"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ecbe9696-0d85-439f-99cb-e2033bf3ae10"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:12Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33814004-3a61-4509-b15e-89a2e3700e05","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fa73b963-5e6a-41d0-91d4-39248a8006bc","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445772.2115624} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.006167,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/33814004-3a61-4509-b15e-89a2e3700e05","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/33814004-3a61-4509-b15e-89a2e3700e05","object_type":"device","rebac_allow":false,"scope_allow":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":"0a94b5d0-3d2f-11ef-b932-e1799b48160b"},"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/33814004-3a61-4509-b15e-89a2e3700e05/signaling 200 12ms","method":"POST","requestID":"0a94b5d0-3d2f-11ef-b932-e1799b48160b","responseTime":12,"status":200,"url":"/devices/33814004-3a61-4509-b15e-89a2e3700e05/signaling"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fecbe9696-0d85-439f-99cb-e2033bf3ae10': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fecbe9696-0d85-439f-99cb-e2033bf3ae10","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"ea1748d8-3c04-4162-8e95-2ec0f95241b9","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445772.2195246} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"902b51c8-033b-49a8-aa51-05d86c8e2d02","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445772.2199357} 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":"d8a86d09751724b0a291f2bc992c33cb"},"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:58630","level":"info","msg":"Received request.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:12Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b640966-b192-43ba-87c9-34cfd17b7ee4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d6f92dc8-28d8-4a78-b426-e3a4ebe9a587","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445772.2303438} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.907299,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b640966-b192-43ba-87c9-34cfd17b7ee4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b640966-b192-43ba-87c9-34cfd17b7ee4","object_type":"device","rebac_allow":false,"scope_allow":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":"0a9726d0-3d2f-11ef-b932-e1799b48160b"},"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/7b640966-b192-43ba-87c9-34cfd17b7ee4/signaling 200 16ms","method":"POST","requestID":"0a9726d0-3d2f-11ef-b932-e1799b48160b","responseTime":16,"status":200,"url":"/devices/7b640966-b192-43ba-87c9-34cfd17b7ee4/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ecbe9696-0d85-439f-99cb-e2033bf3ae10"} gateway-1 | {"time_local":"08/Jul/2024:13:36:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ecbe9696-0d85-439f-99cb-e2033bf3ae10 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.174","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d8a86d09751724b0a291f2bc992c33cb"} gateway-1 | {"time_local":"08/Jul/2024:13:36:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2800","request_time":"4.153","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"6151858b8c5d6329e1e3734df9ab4f7a"} experiment-1 | {"level":"info","message":"DELETE /experiments/ecbe9696-0d85-439f-99cb-e2033bf3ae10 204 170ms","method":"DELETE","requestID":"d8a86d09751724b0a291f2bc992c33cb","responseTime":170,"status":204,"url":"/experiments/ecbe9696-0d85-439f-99cb-e2033bf3ae10"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 129ms","method":"POST","requestID":"87d1923304d895dc50a73f05c9c9aa2c","responseTime":129,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:36: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.135","http_referrer":"","http_user_agent":"node-fetch","requestID":"87d1923304d895dc50a73f05c9c9aa2c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 129ms","method":"POST","requestID":"c43350333259ee9c7add6c1ca702ffc8","responseTime":129,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:36: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.136","http_referrer":"","http_user_agent":"node-fetch","requestID":"c43350333259ee9c7add6c1ca702ffc8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Mn0.dvntRbmHTGDgnpUwW0EQznftk4amxoroaphZX1jGyW4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"400ce5bef64ad6d548af5a4761decb04","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:13:36:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2707","request_time":"2.669","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"dd69f9a07354755902e93e95d7aa2177"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:12Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.924077,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445772,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Mn0.dvntRbmHTGDgnpUwW0EQznftk4amxoroaphZX1jGyW4"} 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":"400ce5bef64ad6d548af5a4761decb04"},"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/7b640966-b192-43ba-87c9-34cfd17b7ee4' 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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41cf68aa-06da-4ecf-82da-b78130043544","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"af04e69f-30a5-4d5a-838e-f11cc7339cd9","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445772.3148625} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"400ce5bef64ad6d548af5a4761decb04"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"161e1abc-c98e-4583-a46a-9acc248a150f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445772.319715} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/33814004-3a61-4509-b15e-89a2e3700e05' closed"} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"400ce5bef64ad6d548af5a4761decb04"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41cf68aa-06da-4ecf-82da-b78130043544","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"97967bb7-59e0-4efd-aa13-fc6da607807e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445772.3348572} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"048d2f83-6c26-4cdf-bf81-7b8df61e6663","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445772.334997} 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":"400ce5bef64ad6d548af5a4761decb04"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41cf68aa-06da-4ecf-82da-b78130043544","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41cf68aa-06da-4ecf-82da-b78130043544","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:12.334824131Z"}]},"request_id":"9e3234dc-5611-42ab-877d-64d86d46769a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445772.3394203} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"400ce5bef64ad6d548af5a4761decb04"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:36:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"400ce5bef64ad6d548af5a4761decb04"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"400ce5bef64ad6d548af5a4761decb04","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Mn0.dvntRbmHTGDgnpUwW0EQznftk4amxoroaphZX1jGyW4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b924d9e836d83a93d7488793df3975b8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:12Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.805721,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445772,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Mn0.dvntRbmHTGDgnpUwW0EQznftk4amxoroaphZX1jGyW4"} 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":"b924d9e836d83a93d7488793df3975b8"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c566701-5c11-453c-bf59-e9e0c7de53f1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"72f0ad1b-350c-4641-9874-2f9cf9d6bb34","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445772.3646688} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b924d9e836d83a93d7488793df3975b8"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d3b168e4-1e76-4039-9357-73acb01d2c5f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445772.3693614} 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":"b924d9e836d83a93d7488793df3975b8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c566701-5c11-453c-bf59-e9e0c7de53f1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"41158040-f5b3-4534-bb66-b2b872028324","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445772.3791847} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a8f4b8d6-d731-4a55-9aea-0bdde6b51144","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445772.3792884} 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":"b924d9e836d83a93d7488793df3975b8"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c566701-5c11-453c-bf59-e9e0c7de53f1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c566701-5c11-453c-bf59-e9e0c7de53f1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:12.379153171Z"}]},"request_id":"61ae99ad-e40a-4e5b-83fb-b48d80fb40c1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445772.3832154} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b924d9e836d83a93d7488793df3975b8"},"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":"b924d9e836d83a93d7488793df3975b8","responseTime":38,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:13:36:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b924d9e836d83a93d7488793df3975b8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Mn0.dvntRbmHTGDgnpUwW0EQznftk4amxoroaphZX1jGyW4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5242a87f6ea2cd41e803dd842b5018b6","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Mn0.dvntRbmHTGDgnpUwW0EQznftk4amxoroaphZX1jGyW4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"610de91357c5d9f742568c984ac8f3fd","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:12Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.671067,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:12Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1c566701-5c11-453c-bf59-e9e0c7de53f1","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/1c566701-5c11-453c-bf59-e9e0c7de53f1","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445772,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Mn0.dvntRbmHTGDgnpUwW0EQznftk4amxoroaphZX1jGyW4"} 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":"5242a87f6ea2cd41e803dd842b5018b6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:60278","level":"info","msg":"Received request.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:12Z"} authorization-1 | {"client_addr":"127.0.0.1:60278","level":"info","msg":"Sent response.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.267903,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:12Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/41cf68aa-06da-4ecf-82da-b78130043544","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/41cf68aa-06da-4ecf-82da-b78130043544","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445772,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Mn0.dvntRbmHTGDgnpUwW0EQznftk4amxoroaphZX1jGyW4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"610de91357c5d9f742568c984ac8f3fd"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c566701-5c11-453c-bf59-e9e0c7de53f1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c566701-5c11-453c-bf59-e9e0c7de53f1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:12.379153171Z"}]},"request_id":"a55bb525-057d-440c-b9ec-eb5b372a076e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445772.8651044} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41cf68aa-06da-4ecf-82da-b78130043544","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41cf68aa-06da-4ecf-82da-b78130043544","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:12.334824131Z"}]},"request_id":"7ec3f246-d465-406f-94ad-5a21485c8b69","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445772.8659105} 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":"5242a87f6ea2cd41e803dd842b5018b6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"level":"info","message":"POST /relations/query 200 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":"610de91357c5d9f742568c984ac8f3fd"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ba45b580-a6d6-48fa-92c9-835354e94359","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445772.87214} 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":"5242a87f6ea2cd41e803dd842b5018b6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aa5cabfb-7fd8-44d5-a317-7c74193f14e4","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445772.8734765} 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":"610de91357c5d9f742568c984ac8f3fd"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41cf68aa-06da-4ecf-82da-b78130043544","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41cf68aa-06da-4ecf-82da-b78130043544","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:12.334824131Z"}]},"request_id":"90c423f3-244e-40e3-bc3c-2bccacb24838","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445772.8762114} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"610de91357c5d9f742568c984ac8f3fd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:36:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/41cf68aa-06da-4ecf-82da-b78130043544 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"610de91357c5d9f742568c984ac8f3fd"} device-1 | {"level":"info","message":"PATCH /devices/41cf68aa-06da-4ecf-82da-b78130043544 200 20ms","method":"PATCH","requestID":"610de91357c5d9f742568c984ac8f3fd","responseTime":21,"status":200,"url":"/devices/41cf68aa-06da-4ecf-82da-b78130043544"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Mn0.dvntRbmHTGDgnpUwW0EQznftk4amxoroaphZX1jGyW4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3f89aaa07b263d8c33ca8c692c32c1d4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:12Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.595534,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:12Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/41cf68aa-06da-4ecf-82da-b78130043544","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/41cf68aa-06da-4ecf-82da-b78130043544","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445772,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Mn0.dvntRbmHTGDgnpUwW0EQznftk4amxoroaphZX1jGyW4"} 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":"3f89aaa07b263d8c33ca8c692c32c1d4"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c566701-5c11-453c-bf59-e9e0c7de53f1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c566701-5c11-453c-bf59-e9e0c7de53f1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:12.379153171Z"}]},"request_id":"691ecbd9-8cfb-4726-8634-c810ffe44047","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445772.8865838} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5242a87f6ea2cd41e803dd842b5018b6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:36:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/1c566701-5c11-453c-bf59-e9e0c7de53f1 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"5242a87f6ea2cd41e803dd842b5018b6"} device-1 | {"level":"info","message":"PATCH /devices/1c566701-5c11-453c-bf59-e9e0c7de53f1 200 34ms","method":"PATCH","requestID":"5242a87f6ea2cd41e803dd842b5018b6","responseTime":34,"status":200,"url":"/devices/1c566701-5c11-453c-bf59-e9e0c7de53f1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Mn0.dvntRbmHTGDgnpUwW0EQznftk4amxoroaphZX1jGyW4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a0b3b79bf30d9ca57ceb4cf161971282","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:12Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.005453,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:12Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1c566701-5c11-453c-bf59-e9e0c7de53f1","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/1c566701-5c11-453c-bf59-e9e0c7de53f1","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445772,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Mn0.dvntRbmHTGDgnpUwW0EQznftk4amxoroaphZX1jGyW4"} gateway-1 | {"time_local":"08/Jul/2024:13:36:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/41cf68aa-06da-4ecf-82da-b78130043544/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.019","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"3f89aaa07b263d8c33ca8c692c32c1d4"} device-1 | {"level":"info","message":"POST /devices/41cf68aa-06da-4ecf-82da-b78130043544/websocket 200 15ms","method":"POST","requestID":"3f89aaa07b263d8c33ca8c692c32c1d4","responseTime":15,"status":200,"url":"/devices/41cf68aa-06da-4ecf-82da-b78130043544/websocket"} 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":"a0b3b79bf30d9ca57ceb4cf161971282"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:36:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1c566701-5c11-453c-bf59-e9e0c7de53f1/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.019","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a0b3b79bf30d9ca57ceb4cf161971282"} device-1 | {"level":"info","message":"POST /devices/1c566701-5c11-453c-bf59-e9e0c7de53f1/websocket 200 15ms","method":"POST","requestID":"a0b3b79bf30d9ca57ceb4cf161971282","responseTime":15,"status":200,"url":"/devices/1c566701-5c11-453c-bf59-e9e0c7de53f1/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/41cf68aa-06da-4ecf-82da-b78130043544' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1c566701-5c11-453c-bf59-e9e0c7de53f1' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Mn0.dvntRbmHTGDgnpUwW0EQznftk4amxoroaphZX1jGyW4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b12c4afa28561650bc21074542aa4b8d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:12Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.666822,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/41cf68aa-06da-4ecf-82da-b78130043544","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/41cf68aa-06da-4ecf-82da-b78130043544","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445772,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Mn0.dvntRbmHTGDgnpUwW0EQznftk4amxoroaphZX1jGyW4"} 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":"b12c4afa28561650bc21074542aa4b8d"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41cf68aa-06da-4ecf-82da-b78130043544","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41cf68aa-06da-4ecf-82da-b78130043544","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:12.334824131Z"}]},"request_id":"0a366802-b126-472e-9480-2181ac422fdc","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445772.9422297} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b12c4afa28561650bc21074542aa4b8d"},"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/41cf68aa-06da-4ecf-82da-b78130043544? 200 9ms","method":"GET","requestID":"b12c4afa28561650bc21074542aa4b8d","responseTime":9,"status":200,"url":"/devices/41cf68aa-06da-4ecf-82da-b78130043544?"} gateway-1 | {"time_local":"08/Jul/2024:13:36:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/41cf68aa-06da-4ecf-82da-b78130043544? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b12c4afa28561650bc21074542aa4b8d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Mn0.dvntRbmHTGDgnpUwW0EQznftk4amxoroaphZX1jGyW4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f1fdfe26cce5cf26615f2d5ebf66b016","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:12Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.831395,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1c566701-5c11-453c-bf59-e9e0c7de53f1","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/1c566701-5c11-453c-bf59-e9e0c7de53f1","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445772,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Mn0.dvntRbmHTGDgnpUwW0EQznftk4amxoroaphZX1jGyW4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f1fdfe26cce5cf26615f2d5ebf66b016"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c566701-5c11-453c-bf59-e9e0c7de53f1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c566701-5c11-453c-bf59-e9e0c7de53f1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:12.379153171Z"}]},"request_id":"eaee6d1e-2e30-4f5f-a7bb-fead48783cb0","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445772.9574897} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f1fdfe26cce5cf26615f2d5ebf66b016"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:36:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1c566701-5c11-453c-bf59-e9e0c7de53f1? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f1fdfe26cce5cf26615f2d5ebf66b016"} device-1 | {"level":"info","message":"GET /devices/1c566701-5c11-453c-bf59-e9e0c7de53f1? 200 12ms","method":"GET","requestID":"f1fdfe26cce5cf26615f2d5ebf66b016","responseTime":12,"status":200,"url":"/devices/1c566701-5c11-453c-bf59-e9e0c7de53f1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Mn0.dvntRbmHTGDgnpUwW0EQznftk4amxoroaphZX1jGyW4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"10f62b16bb013e91112527025642d582","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:58630","level":"info","msg":"Received request.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:12Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.667801,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445772,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Mn0.dvntRbmHTGDgnpUwW0EQznftk4amxoroaphZX1jGyW4"} 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":"10f62b16bb013e91112527025642d582"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7b4a63e7-0bfd-40d8-9edd-e55d9032852b"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7b4a63e7-0bfd-40d8-9edd-e55d9032852b"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7b4a63e7-0bfd-40d8-9edd-e55d9032852b"},"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:58630","level":"info","msg":"Received request.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:13Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.612279,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:13Z"} authorization-1 | {"client_addr":"127.0.0.1:60278","level":"info","msg":"Received request.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/41cf68aa-06da-4ecf-82da-b78130043544","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/41cf68aa-06da-4ecf-82da-b78130043544","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445772,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Mn0.dvntRbmHTGDgnpUwW0EQznftk4amxoroaphZX1jGyW4"} 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":"0b0d8f50-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:60278","level":"info","msg":"Sent response.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.531252,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1c566701-5c11-453c-bf59-e9e0c7de53f1","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/1c566701-5c11-453c-bf59-e9e0c7de53f1","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445772,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Mn0.dvntRbmHTGDgnpUwW0EQznftk4amxoroaphZX1jGyW4"} 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":"0b0ddd70-3d2f-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41cf68aa-06da-4ecf-82da-b78130043544","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41cf68aa-06da-4ecf-82da-b78130043544","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:12.334824131Z"}]},"request_id":"548029e0-38ad-421a-b3b8-92752172e739","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445773.0049832} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b0d8f50-3d2f-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c566701-5c11-453c-bf59-e9e0c7de53f1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c566701-5c11-453c-bf59-e9e0c7de53f1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:12.379153171Z"}]},"request_id":"4083ff96-488b-45bf-a0a4-655ef8547a03","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445773.005625} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b0ddd70-3d2f-11ef-b932-e1799b48160b"},"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/41cf68aa-06da-4ecf-82da-b78130043544? 200 13ms","method":"GET","requestID":"0b0d8f50-3d2f-11ef-b932-e1799b48160b","responseTime":13,"status":200,"url":"/devices/41cf68aa-06da-4ecf-82da-b78130043544?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/1c566701-5c11-453c-bf59-e9e0c7de53f1? 200 12ms","method":"GET","requestID":"0b0ddd70-3d2f-11ef-b932-e1799b48160b","responseTime":12,"status":200,"url":"/devices/1c566701-5c11-453c-bf59-e9e0c7de53f1?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7b4a63e7-0bfd-40d8-9edd-e55d9032852b"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7b4a63e7-0bfd-40d8-9edd-e55d9032852b"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7b4a63e7-0bfd-40d8-9edd-e55d9032852b"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7b4a63e7-0bfd-40d8-9edd-e55d9032852b"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7b4a63e7-0bfd-40d8-9edd-e55d9032852b"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7b4a63e7-0bfd-40d8-9edd-e55d9032852b"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7b4a63e7-0bfd-40d8-9edd-e55d9032852b"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7b4a63e7-0bfd-40d8-9edd-e55d9032852b"},"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/7b4a63e7-0bfd-40d8-9edd-e55d9032852b"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:13Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.919494,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:13Z"} authorization-1 | {"client_addr":"127.0.0.1:60278","level":"info","msg":"Received request.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/41cf68aa-06da-4ecf-82da-b78130043544","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/41cf68aa-06da-4ecf-82da-b78130043544","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445772,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Mn0.dvntRbmHTGDgnpUwW0EQznftk4amxoroaphZX1jGyW4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b14e250-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:60278","level":"info","msg":"Sent response.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.768601,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1c566701-5c11-453c-bf59-e9e0c7de53f1","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/1c566701-5c11-453c-bf59-e9e0c7de53f1","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445772,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Mn0.dvntRbmHTGDgnpUwW0EQznftk4amxoroaphZX1jGyW4"} 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":"0b153070-3d2f-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41cf68aa-06da-4ecf-82da-b78130043544","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41cf68aa-06da-4ecf-82da-b78130043544","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:12.334824131Z"}]},"request_id":"1df096b2-9087-4728-bfe9-41621f3bc98e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445773.05676} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b14e250-3d2f-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c566701-5c11-453c-bf59-e9e0c7de53f1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c566701-5c11-453c-bf59-e9e0c7de53f1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:12.379153171Z"}]},"request_id":"aa192f08-75ab-4692-a8e7-1ff5fd86d3cd","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445773.0576231} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b153070-3d2f-11ef-b932-e1799b48160b"},"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:56676","level":"info","msg":"Received request.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:13Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41cf68aa-06da-4ecf-82da-b78130043544","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a54e3120-cea3-4592-a723-6563aae00493","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445773.0611677} authorization-1 | {"client_addr":"127.0.0.1:56676","level":"info","msg":"Sent response.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.27403,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/41cf68aa-06da-4ecf-82da-b78130043544","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/41cf68aa-06da-4ecf-82da-b78130043544","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 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":"0b155780-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"level":"info","message":"GET /devices/41cf68aa-06da-4ecf-82da-b78130043544? 200 17ms","method":"GET","requestID":"0b14e250-3d2f-11ef-b932-e1799b48160b","responseTime":17,"status":200,"url":"/devices/41cf68aa-06da-4ecf-82da-b78130043544?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/1c566701-5c11-453c-bf59-e9e0c7de53f1? 200 19ms","method":"GET","requestID":"0b153070-3d2f-11ef-b932-e1799b48160b","responseTime":19,"status":200,"url":"/devices/1c566701-5c11-453c-bf59-e9e0c7de53f1?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/41cf68aa-06da-4ecf-82da-b78130043544/signaling 200 19ms","method":"POST","requestID":"0b155780-3d2f-11ef-b932-e1799b48160b","responseTime":19,"status":200,"url":"/devices/41cf68aa-06da-4ecf-82da-b78130043544/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7b4a63e7-0bfd-40d8-9edd-e55d9032852b#owner@http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7b4a63e7-0bfd-40d8-9edd-e55d9032852b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"39dbb3f1-4499-4a31-be68-64b0ec712c53","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445773.0714488} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"021c6c01-5883-4880-8ab2-729e507c47ff","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445773.0716968} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41cf68aa-06da-4ecf-82da-b78130043544","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"30661fb5-0632-47b5-a2a5-a16b42e30723","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445773.0739856} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:13Z"} authorization-1 | {"client_addr":"127.0.0.1:60278","level":"info","msg":"Received request.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:13Z"} 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":"10f62b16bb013e91112527025642d582"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c566701-5c11-453c-bf59-e9e0c7de53f1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"39c106c3-a13d-48ae-b6d4-b46082ba2f87","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445773.0746937} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.281887,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:13Z"} authorization-1 | {"client_addr":"127.0.0.1:60278","level":"info","msg":"Sent response.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.050745,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/41cf68aa-06da-4ecf-82da-b78130043544","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/41cf68aa-06da-4ecf-82da-b78130043544","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b1864c0-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1c566701-5c11-453c-bf59-e9e0c7de53f1","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1c566701-5c11-453c-bf59-e9e0c7de53f1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b188bd0-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/7b4a63e7-0bfd-40d8-9edd-e55d9032852b","user":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/41cf68aa-06da-4ecf-82da-b78130043544/signaling 200 12ms","method":"POST","requestID":"0b1864c0-3d2f-11ef-b932-e1799b48160b","responseTime":12,"status":200,"url":"/devices/41cf68aa-06da-4ecf-82da-b78130043544/signaling"} gateway-1 | {"time_local":"08/Jul/2024:13:36:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.118","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"10f62b16bb013e91112527025642d582"} experiment-1 | {"level":"info","message":"POST /experiments? 201 114ms","method":"POST","requestID":"10f62b16bb013e91112527025642d582","responseTime":114,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1c566701-5c11-453c-bf59-e9e0c7de53f1/signaling 200 12ms","method":"POST","requestID":"0b188bd0-3d2f-11ef-b932-e1799b48160b","responseTime":12,"status":200,"url":"/devices/1c566701-5c11-453c-bf59-e9e0c7de53f1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3M30.qre6_hqA03LaNKzpxZn9IfcXu6EkVEb34FG_R_G_7-0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"95a1f3ef510ceb09cfbe52df311b8da2","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:13Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c566701-5c11-453c-bf59-e9e0c7de53f1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"126a81fd-ecb5-48df-b11b-f6ff2a5bdb47","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445773.0879738} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.978126,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:13Z"} authorization-1 | {"client_addr":"127.0.0.1:60278","level":"info","msg":"Received request.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1c566701-5c11-453c-bf59-e9e0c7de53f1","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1c566701-5c11-453c-bf59-e9e0c7de53f1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b1a87a0-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:60278","level":"info","msg":"Sent response.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.515523,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/41cf68aa-06da-4ecf-82da-b78130043544","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/41cf68aa-06da-4ecf-82da-b78130043544","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445773,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3M30.qre6_hqA03LaNKzpxZn9IfcXu6EkVEb34FG_R_G_7-0"} 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":"95a1f3ef510ceb09cfbe52df311b8da2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1c566701-5c11-453c-bf59-e9e0c7de53f1/signaling 200 10ms","method":"POST","requestID":"0b1a87a0-3d2f-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/1c566701-5c11-453c-bf59-e9e0c7de53f1/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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41cf68aa-06da-4ecf-82da-b78130043544","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41cf68aa-06da-4ecf-82da-b78130043544","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:12.334824131Z"}]},"request_id":"b6501403-10c4-4750-bdd3-ee57dee76865","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445773.0932143} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7b4a63e7-0bfd-40d8-9edd-e55d9032852b"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7b4a63e7-0bfd-40d8-9edd-e55d9032852b"},"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":"38685374-210f-42c0-9b87-b6eaa4b2714e"},{"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":"26a91d09-3f01-4546-b8fb-4df663c8fa9f"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"d40d05c6-69da-4499-a67c-839aedb5a798"}]},"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/1c566701-5c11-453c-bf59-e9e0c7de53f1"},{"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/41cf68aa-06da-4ecf-82da-b78130043544"}],"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":"95a1f3ef510ceb09cfbe52df311b8da2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:36:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/41cf68aa-06da-4ecf-82da-b78130043544? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"95a1f3ef510ceb09cfbe52df311b8da2"} device-1 | {"level":"info","message":"GET /devices/41cf68aa-06da-4ecf-82da-b78130043544? 200 12ms","method":"GET","requestID":"95a1f3ef510ceb09cfbe52df311b8da2","responseTime":12,"status":200,"url":"/devices/41cf68aa-06da-4ecf-82da-b78130043544?"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:13Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.773532,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445772,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Mn0.dvntRbmHTGDgnpUwW0EQznftk4amxoroaphZX1jGyW4"} 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":"0b1caa80-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3M30.qre6_hqA03LaNKzpxZn9IfcXu6EkVEb34FG_R_G_7-0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e8ec380d681b18d4445f91d6492e54d4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:13Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.604511,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1c566701-5c11-453c-bf59-e9e0c7de53f1","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/1c566701-5c11-453c-bf59-e9e0c7de53f1","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445773,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3M30.qre6_hqA03LaNKzpxZn9IfcXu6EkVEb34FG_R_G_7-0"} 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":"e8ec380d681b18d4445f91d6492e54d4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","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%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"f8a13924-e4c0-4d70-b19e-d680457ac484","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445773.1076577} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d1cdf5c2-521e-40af-acdf-988ae77a559f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445773.1078515} 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":"0b1caa80-3d2f-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c566701-5c11-453c-bf59-e9e0c7de53f1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c566701-5c11-453c-bf59-e9e0c7de53f1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:12.379153171Z"}]},"request_id":"305d30fd-c8bd-4051-876c-e2991d20f0b1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445773.1115088} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e8ec380d681b18d4445f91d6492e54d4"},"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/230b910d-9ae1-4655-ab57-615362a67ce9'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/230b910d-9ae1-4655-ab57-615362a67ce9'"} 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 25ms","method":"POST","requestID":"0b1caa80-3d2f-11ef-b932-e1799b48160b","responseTime":25,"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/1c566701-5c11-453c-bf59-e9e0c7de53f1? 200 18ms","method":"GET","requestID":"e8ec380d681b18d4445f91d6492e54d4","responseTime":18,"status":200,"url":"/devices/1c566701-5c11-453c-bf59-e9e0c7de53f1?"} gateway-1 | {"time_local":"08/Jul/2024:13:36:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1c566701-5c11-453c-bf59-e9e0c7de53f1? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e8ec380d681b18d4445f91d6492e54d4"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7b4a63e7-0bfd-40d8-9edd-e55d9032852b"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:13Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41cf68aa-06da-4ecf-82da-b78130043544","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bd0a272c-c544-4dd6-a214-b039bce6bfe4","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445773.1512144} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.155259,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/41cf68aa-06da-4ecf-82da-b78130043544","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/41cf68aa-06da-4ecf-82da-b78130043544","object_type":"device","rebac_allow":false,"scope_allow":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":"0b2472b0-3d2f-11ef-b932-e1799b48160b"},"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/41cf68aa-06da-4ecf-82da-b78130043544/signaling 200 7ms","method":"POST","requestID":"0b2472b0-3d2f-11ef-b932-e1799b48160b","responseTime":7,"status":200,"url":"/devices/41cf68aa-06da-4ecf-82da-b78130043544/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:13Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c566701-5c11-453c-bf59-e9e0c7de53f1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1602c154-e78f-43b4-831a-7a9b6e353bcc","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445773.1610334} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.193228,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1c566701-5c11-453c-bf59-e9e0c7de53f1","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1c566701-5c11-453c-bf59-e9e0c7de53f1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b25d240-3d2f-11ef-b932-e1799b48160b"},"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/1c566701-5c11-453c-bf59-e9e0c7de53f1/signaling 200 8ms","method":"POST","requestID":"0b25d240-3d2f-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/devices/1c566701-5c11-453c-bf59-e9e0c7de53f1/signaling"} device-1 | {"data":{"peerconnection":"230b910d-9ae1-4655-ab57-615362a67ce9","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"230b910d-9ae1-4655-ab57-615362a67ce9","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/230b910d-9ae1-4655-ab57-615362a67ce9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"230b910d-9ae1-4655-ab57-615362a67ce9","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d941c841506bcd1ee70c0842464ed0a6","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/1c566701-5c11-453c-bf59-e9e0c7de53f1"},{"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/41cf68aa-06da-4ecf-82da-b78130043544"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/230b910d-9ae1-4655-ab57-615362a67ce9"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"d941c841506bcd1ee70c0842464ed0a6","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:36: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.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"d941c841506bcd1ee70c0842464ed0a6"} device-1 | {"data":{"peerconnection":"230b910d-9ae1-4655-ab57-615362a67ce9","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"230b910d-9ae1-4655-ab57-615362a67ce9","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/230b910d-9ae1-4655-ab57-615362a67ce9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"230b910d-9ae1-4655-ab57-615362a67ce9","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4c6e5a315005761a1df518f8900ea6b2","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/1c566701-5c11-453c-bf59-e9e0c7de53f1"},{"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/41cf68aa-06da-4ecf-82da-b78130043544"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/230b910d-9ae1-4655-ab57-615362a67ce9"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:15Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F230b910d-9ae1-4655-ab57-615362a67ce9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"54af09e9-baef-4ab9-8762-f5726f7aeeef","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445775.240762} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.388797,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/230b910d-9ae1-4655-ab57-615362a67ce9","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/230b910d-9ae1-4655-ab57-615362a67ce9","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":"0c62e620-3d2f-11ef-b932-e1799b48160b"},"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/230b910d-9ae1-4655-ab57-615362a67ce9 200 12ms","method":"GET","requestID":"0c62e620-3d2f-11ef-b932-e1799b48160b","responseTime":12,"status":200,"url":"/peerconnections/230b910d-9ae1-4655-ab57-615362a67ce9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 43ms","method":"POST","requestID":"4c6e5a315005761a1df518f8900ea6b2","responseTime":43,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:36: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.047","http_referrer":"","http_user_agent":"node-fetch","requestID":"4c6e5a315005761a1df518f8900ea6b2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:15Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c566701-5c11-453c-bf59-e9e0c7de53f1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c4b38454-cb93-46c0-853c-1dd204745061","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445775.2789018} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.569417,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1c566701-5c11-453c-bf59-e9e0c7de53f1","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1c566701-5c11-453c-bf59-e9e0c7de53f1","object_type":"device","rebac_allow":false,"scope_allow":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":"0c68b280-3d2f-11ef-b932-e1799b48160b"},"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/1c566701-5c11-453c-bf59-e9e0c7de53f1/signaling 200 13ms","method":"POST","requestID":"0c68b280-3d2f-11ef-b932-e1799b48160b","responseTime":13,"status":200,"url":"/devices/1c566701-5c11-453c-bf59-e9e0c7de53f1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:15Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41cf68aa-06da-4ecf-82da-b78130043544","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"86863800-9cd3-4711-8a7c-c1b341c035fe","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445775.2943869} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.74538,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/41cf68aa-06da-4ecf-82da-b78130043544","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/41cf68aa-06da-4ecf-82da-b78130043544","object_type":"device","rebac_allow":false,"scope_allow":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":"0c6b2380-3d2f-11ef-b932-e1799b48160b"},"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/41cf68aa-06da-4ecf-82da-b78130043544/signaling 200 12ms","method":"POST","requestID":"0c6b2380-3d2f-11ef-b932-e1799b48160b","responseTime":12,"status":200,"url":"/devices/41cf68aa-06da-4ecf-82da-b78130043544/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3NX0.yJOqOXpfc3ZYjnrNqtPAXg6J-wSVdOQz53VEW5ZSE30","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dc9169e9da9f049e49156aac6c2db9ea","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7b4a63e7-0bfd-40d8-9edd-e55d9032852b"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:15Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.249334,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7b4a63e7-0bfd-40d8-9edd-e55d9032852b","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/7b4a63e7-0bfd-40d8-9edd-e55d9032852b","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445775,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3NX0.yJOqOXpfc3ZYjnrNqtPAXg6J-wSVdOQz53VEW5ZSE30"} 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":"dc9169e9da9f049e49156aac6c2db9ea"},"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/7b4a63e7-0bfd-40d8-9edd-e55d9032852b"} experiment-1 | {"level":"info","message":"GET /experiments/7b4a63e7-0bfd-40d8-9edd-e55d9032852b 200 15ms","method":"GET","requestID":"dc9169e9da9f049e49156aac6c2db9ea","responseTime":15,"status":200,"url":"/experiments/7b4a63e7-0bfd-40d8-9edd-e55d9032852b"} gateway-1 | {"time_local":"08/Jul/2024:13:36:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7b4a63e7-0bfd-40d8-9edd-e55d9032852b HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dc9169e9da9f049e49156aac6c2db9ea"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3NX0.yJOqOXpfc3ZYjnrNqtPAXg6J-wSVdOQz53VEW5ZSE30","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d76ee8fd5caba95eda1d991090c78ba6","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/7b4a63e7-0bfd-40d8-9edd-e55d9032852b"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:15Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.373507,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:15Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7b4a63e7-0bfd-40d8-9edd-e55d9032852b","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/7b4a63e7-0bfd-40d8-9edd-e55d9032852b","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445775,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3NX0.yJOqOXpfc3ZYjnrNqtPAXg6J-wSVdOQz53VEW5ZSE30"} 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":"d76ee8fd5caba95eda1d991090c78ba6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7b4a63e7-0bfd-40d8-9edd-e55d9032852b"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:15Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.361368,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:15Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/230b910d-9ae1-4655-ab57-615362a67ce9","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:http://localhost/peerconnections/230b910d-9ae1-4655-ab57-615362a67ce9","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445775,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3NX0.yJOqOXpfc3ZYjnrNqtPAXg6J-wSVdOQz53VEW5ZSE30"} 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":"0c76e350-3d2f-11ef-b932-e1799b48160b"},"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/230b910d-9ae1-4655-ab57-615362a67ce9' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/230b910d-9ae1-4655-ab57-615362a67ce9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"230b910d-9ae1-4655-ab57-615362a67ce9","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F230b910d-9ae1-4655-ab57-615362a67ce9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F230b910d-9ae1-4655-ab57-615362a67ce9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"5a87257d-5758-49af-9f49-783c5df99bf5","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445775.389091} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3921b8aeaa8d152d4e1245a01821e6c3","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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cede9343-df06-4201-8d3d-e788e6f9bafa","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445775.389832} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/1c566701-5c11-453c-bf59-e9e0c7de53f1"},{"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/41cf68aa-06da-4ecf-82da-b78130043544"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/230b910d-9ae1-4655-ab57-615362a67ce9"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"75edb99f87fb9469d5c7183442e7b4c0","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0c76e350-3d2f-11ef-b932-e1799b48160b"},"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/1c566701-5c11-453c-bf59-e9e0c7de53f1"},{"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/41cf68aa-06da-4ecf-82da-b78130043544"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/230b910d-9ae1-4655-ab57-615362a67ce9"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"230b910d-9ae1-4655-ab57-615362a67ce9","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/230b910d-9ae1-4655-ab57-615362a67ce9 204 48ms","method":"DELETE","requestID":"0c76e350-3d2f-11ef-b932-e1799b48160b","responseTime":48,"status":204,"url":"/peerconnections/230b910d-9ae1-4655-ab57-615362a67ce9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7b4a63e7-0bfd-40d8-9edd-e55d9032852b"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:15Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1c566701-5c11-453c-bf59-e9e0c7de53f1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c8203e7c-7c40-4011-a09e-2d31162645cf","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445775.4462848} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.899195,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1c566701-5c11-453c-bf59-e9e0c7de53f1","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1c566701-5c11-453c-bf59-e9e0c7de53f1","object_type":"device","rebac_allow":false,"scope_allow":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":"0c822df0-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7b4a63e7-0bfd-40d8-9edd-e55d9032852b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7b4a63e7-0bfd-40d8-9edd-e55d9032852b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"50b7d2c5-f1ec-42da-8acd-aab17a37b165","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445775.452776} device-1 | {"level":"info","message":"POST /devices/1c566701-5c11-453c-bf59-e9e0c7de53f1/signaling 200 13ms","method":"POST","requestID":"0c822df0-3d2f-11ef-b932-e1799b48160b","responseTime":13,"status":200,"url":"/devices/1c566701-5c11-453c-bf59-e9e0c7de53f1/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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"58125bcb-3b0a-4752-b825-1b9eda453656","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445775.453115} 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":"d76ee8fd5caba95eda1d991090c78ba6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:15Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F41cf68aa-06da-4ecf-82da-b78130043544","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"33bb57bb-687a-4525-ab49-a56a49247639","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445775.4632995} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.579447,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/41cf68aa-06da-4ecf-82da-b78130043544","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/41cf68aa-06da-4ecf-82da-b78130043544","object_type":"device","rebac_allow":false,"scope_allow":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":"0c84c600-3d2f-11ef-b932-e1799b48160b"},"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/41cf68aa-06da-4ecf-82da-b78130043544/signaling 200 13ms","method":"POST","requestID":"0c84c600-3d2f-11ef-b932-e1799b48160b","responseTime":13,"status":200,"url":"/devices/41cf68aa-06da-4ecf-82da-b78130043544/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/7b4a63e7-0bfd-40d8-9edd-e55d9032852b"} gateway-1 | {"time_local":"08/Jul/2024:13:36:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/7b4a63e7-0bfd-40d8-9edd-e55d9032852b HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.176","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d76ee8fd5caba95eda1d991090c78ba6"} gateway-1 | {"time_local":"08/Jul/2024:13:36:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2707","request_time":"2.611","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"97d362f88140efc38a30108cd7cf2347"} gateway-1 | {"time_local":"08/Jul/2024:13:36:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2709","request_time":"2.621","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"2ce090709854ea88f092b5a01adb364e"} experiment-1 | {"level":"info","message":"DELETE /experiments/7b4a63e7-0bfd-40d8-9edd-e55d9032852b 204 172ms","method":"DELETE","requestID":"d76ee8fd5caba95eda1d991090c78ba6","responseTime":172,"status":204,"url":"/experiments/7b4a63e7-0bfd-40d8-9edd-e55d9032852b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 132ms","method":"POST","requestID":"3921b8aeaa8d152d4e1245a01821e6c3","responseTime":132,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 131ms","method":"POST","requestID":"75edb99f87fb9469d5c7183442e7b4c0","responseTime":131,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:36: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.137","http_referrer":"","http_user_agent":"node-fetch","requestID":"3921b8aeaa8d152d4e1245a01821e6c3"} gateway-1 | {"time_local":"08/Jul/2024:13:36: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.138","http_referrer":"","http_user_agent":"node-fetch","requestID":"75edb99f87fb9469d5c7183442e7b4c0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3NX0.yJOqOXpfc3ZYjnrNqtPAXg6J-wSVdOQz53VEW5ZSE30","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"05abd383dbd898eed865d776ac00b59a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/41cf68aa-06da-4ecf-82da-b78130043544' closed"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:15Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.782884,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445775,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3NX0.yJOqOXpfc3ZYjnrNqtPAXg6J-wSVdOQz53VEW5ZSE30"} 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":"05abd383dbd898eed865d776ac00b59a"},"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/1c566701-5c11-453c-bf59-e9e0c7de53f1' 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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"448cf4f2-2622-445c-9eb2-c0fe913bf71a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445775.546048} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"05abd383dbd898eed865d776ac00b59a"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e79b9759-a41b-4aa8-be96-221ef1137c63","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445775.5511208} 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":"05abd383dbd898eed865d776ac00b59a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"6ef480ff-a20d-4209-a8ff-adf2fb5822a9","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445775.562196} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e3e39a3a-af02-4c70-86e9-24364deaff4a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445775.5623527} 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":"05abd383dbd898eed865d776ac00b59a"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:15.562158806Z"}]},"request_id":"108ba0e7-3f96-439f-8323-b1be7de96e15","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445775.5668733} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"05abd383dbd898eed865d776ac00b59a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:36:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"05abd383dbd898eed865d776ac00b59a"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"05abd383dbd898eed865d776ac00b59a","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3NX0.yJOqOXpfc3ZYjnrNqtPAXg6J-wSVdOQz53VEW5ZSE30","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"81ce925bd4c931c060d10ef597ce6f63","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:15Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.797711,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445775,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3NX0.yJOqOXpfc3ZYjnrNqtPAXg6J-wSVdOQz53VEW5ZSE30"} 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":"81ce925bd4c931c060d10ef597ce6f63"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58ccf316-3db9-4a2e-9984-c5c1fcf5d870","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"31b4b4b8-47de-491a-ada1-90c4f974f81a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445775.5920973} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"81ce925bd4c931c060d10ef597ce6f63"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fdc9a4d3-a1d6-4c96-b00c-cd81e19326b0","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445775.5970256} 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":"81ce925bd4c931c060d10ef597ce6f63"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58ccf316-3db9-4a2e-9984-c5c1fcf5d870","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"64714597-cecd-45ef-86a2-21efc33b629f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445775.6128855} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"27ba3e62-d5fa-479b-abb1-2e47546f8e66","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445775.6131864} 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":"81ce925bd4c931c060d10ef597ce6f63"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58ccf316-3db9-4a2e-9984-c5c1fcf5d870","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58ccf316-3db9-4a2e-9984-c5c1fcf5d870","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:15.612843934Z"}]},"request_id":"9b4491f2-238b-44aa-991f-190529fd3ac8","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445775.617623} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"81ce925bd4c931c060d10ef597ce6f63"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:36:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"81ce925bd4c931c060d10ef597ce6f63"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"81ce925bd4c931c060d10ef597ce6f63","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Nn0.8q5FGkaFJYpq55hdhtt9_tAyg_YD5_BFAkHOncS0Ox8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"72700eeb6012d267ea1537b51c6007ba","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Nn0.8q5FGkaFJYpq55hdhtt9_tAyg_YD5_BFAkHOncS0Ox8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"7a6b2cc94d91ed4316d4fbeca9066a58","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"client_addr":"127.0.0.1:60278","level":"info","msg":"Received request.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.640218,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"client_addr":"127.0.0.1:60278","level":"info","msg":"Sent response.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.601728,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445776,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Nn0.8q5FGkaFJYpq55hdhtt9_tAyg_YD5_BFAkHOncS0Ox8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"72700eeb6012d267ea1537b51c6007ba"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445776,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Nn0.8q5FGkaFJYpq55hdhtt9_tAyg_YD5_BFAkHOncS0Ox8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a6b2cc94d91ed4316d4fbeca9066a58"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58ccf316-3db9-4a2e-9984-c5c1fcf5d870","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58ccf316-3db9-4a2e-9984-c5c1fcf5d870","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:15.612843934Z"}]},"request_id":"7c15705f-ce00-47bf-ba13-cfaa77fb14d9","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445776.1068392} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"72700eeb6012d267ea1537b51c6007ba"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:15.562158806Z"}]},"request_id":"562879b0-fe15-40c4-8a5d-70d6f3eb3caf","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445776.1074917} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a6b2cc94d91ed4316d4fbeca9066a58"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"475903ca-7596-4ecd-95a3-488d0e22cbba","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445776.1116326} 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":"72700eeb6012d267ea1537b51c6007ba"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"73854c88-66b6-4baf-b09c-f741270901ce","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445776.113596} 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":"7a6b2cc94d91ed4316d4fbeca9066a58"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:15.562158806Z"}]},"request_id":"650e2c97-ed0e-48df-90ce-b11d19f37486","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445776.1176145} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a6b2cc94d91ed4316d4fbeca9066a58"},"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/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4 200 23ms","method":"PATCH","requestID":"7a6b2cc94d91ed4316d4fbeca9066a58","responseTime":23,"status":200,"url":"/devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4"} gateway-1 | {"time_local":"08/Jul/2024:13:36:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.031","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"7a6b2cc94d91ed4316d4fbeca9066a58"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Nn0.8q5FGkaFJYpq55hdhtt9_tAyg_YD5_BFAkHOncS0Ox8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2f06e0d941c88e1ea1bf7e53d1c2f646","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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58ccf316-3db9-4a2e-9984-c5c1fcf5d870","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58ccf316-3db9-4a2e-9984-c5c1fcf5d870","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:15.612843934Z"}]},"request_id":"84f08d51-2e7f-4a33-9d6c-337fcfbb3859","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445776.127839} 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":"72700eeb6012d267ea1537b51c6007ba"},"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:58630","level":"info","msg":"Received request.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.841052,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:16Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445776,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Nn0.8q5FGkaFJYpq55hdhtt9_tAyg_YD5_BFAkHOncS0Ox8"} 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":"2f06e0d941c88e1ea1bf7e53d1c2f646"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} gateway-1 | {"time_local":"08/Jul/2024:13:36:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.047","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"72700eeb6012d267ea1537b51c6007ba"} device-1 | {"level":"info","message":"PATCH /devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870 200 40ms","method":"PATCH","requestID":"72700eeb6012d267ea1537b51c6007ba","responseTime":40,"status":200,"url":"/devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Nn0.8q5FGkaFJYpq55hdhtt9_tAyg_YD5_BFAkHOncS0Ox8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"af336e9c37598d36622d2939aa35db3c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.746122,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445776,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Nn0.8q5FGkaFJYpq55hdhtt9_tAyg_YD5_BFAkHOncS0Ox8"} 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":"af336e9c37598d36622d2939aa35db3c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:36:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.030","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"2f06e0d941c88e1ea1bf7e53d1c2f646"} device-1 | {"level":"info","message":"POST /devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4/websocket 200 24ms","method":"POST","requestID":"2f06e0d941c88e1ea1bf7e53d1c2f646","responseTime":24,"status":200,"url":"/devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:36:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.023","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"af336e9c37598d36622d2939aa35db3c"} device-1 | {"level":"info","message":"POST /devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870/websocket 200 18ms","method":"POST","requestID":"af336e9c37598d36622d2939aa35db3c","responseTime":18,"status":200,"url":"/devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Nn0.8q5FGkaFJYpq55hdhtt9_tAyg_YD5_BFAkHOncS0Ox8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"11dded885bde4771e50c88f4e39c2382","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.651409,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445776,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Nn0.8q5FGkaFJYpq55hdhtt9_tAyg_YD5_BFAkHOncS0Ox8"} 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":"11dded885bde4771e50c88f4e39c2382"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:15.562158806Z"}]},"request_id":"28cd67c2-7340-482d-8b86-68ef4a5c3a1a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445776.1913836} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"11dded885bde4771e50c88f4e39c2382"},"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/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4? 200 9ms","method":"GET","requestID":"11dded885bde4771e50c88f4e39c2382","responseTime":9,"status":200,"url":"/devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4?"} gateway-1 | {"time_local":"08/Jul/2024:13:36:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"11dded885bde4771e50c88f4e39c2382"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Nn0.8q5FGkaFJYpq55hdhtt9_tAyg_YD5_BFAkHOncS0Ox8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0faf9232043158be3735f8858f0a94c4","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.997134,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445776,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Nn0.8q5FGkaFJYpq55hdhtt9_tAyg_YD5_BFAkHOncS0Ox8"} 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":"0faf9232043158be3735f8858f0a94c4"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58ccf316-3db9-4a2e-9984-c5c1fcf5d870","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58ccf316-3db9-4a2e-9984-c5c1fcf5d870","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:15.612843934Z"}]},"request_id":"515e0b2b-5e02-4bba-869d-3e400b88219f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445776.2063391} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0faf9232043158be3735f8858f0a94c4"},"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/58ccf316-3db9-4a2e-9984-c5c1fcf5d870? 200 10ms","method":"GET","requestID":"0faf9232043158be3735f8858f0a94c4","responseTime":10,"status":200,"url":"/devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870?"} gateway-1 | {"time_local":"08/Jul/2024:13:36:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0faf9232043158be3735f8858f0a94c4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Nn0.8q5FGkaFJYpq55hdhtt9_tAyg_YD5_BFAkHOncS0Ox8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d9de69073686c2093353c5b3d09f2891","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:58630","level":"info","msg":"Received request.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.641307,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445776,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Nn0.8q5FGkaFJYpq55hdhtt9_tAyg_YD5_BFAkHOncS0Ox8"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d9de69073686c2093353c5b3d09f2891"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/700e1828-9b2b-444f-8ec0-68ec9a3e2262"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/700e1828-9b2b-444f-8ec0-68ec9a3e2262"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/700e1828-9b2b-444f-8ec0-68ec9a3e2262"},"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:58630","level":"info","msg":"Received request.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"client_addr":"127.0.0.1:60278","level":"info","msg":"Received request.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.659274,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445776,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Nn0.8q5FGkaFJYpq55hdhtt9_tAyg_YD5_BFAkHOncS0Ox8"} 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":"0cfd5160-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:60278","level":"info","msg":"Sent response.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.565452,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445776,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Nn0.8q5FGkaFJYpq55hdhtt9_tAyg_YD5_BFAkHOncS0Ox8"} 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":"0cfd9f80-3d2f-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:15.562158806Z"}]},"request_id":"5f9849af-b8a8-46e6-b816-5fe596af63eb","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445776.2542427} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0cfd5160-3d2f-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58ccf316-3db9-4a2e-9984-c5c1fcf5d870","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58ccf316-3db9-4a2e-9984-c5c1fcf5d870","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:15.612843934Z"}]},"request_id":"c0c85829-f7ef-4895-96da-28e97ed612df","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445776.2548504} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0cfd9f80-3d2f-11ef-b932-e1799b48160b"},"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/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4? 200 12ms","method":"GET","requestID":"0cfd5160-3d2f-11ef-b932-e1799b48160b","responseTime":12,"status":200,"url":"/devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870? 200 12ms","method":"GET","requestID":"0cfd9f80-3d2f-11ef-b932-e1799b48160b","responseTime":12,"status":200,"url":"/devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/700e1828-9b2b-444f-8ec0-68ec9a3e2262"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/700e1828-9b2b-444f-8ec0-68ec9a3e2262"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/700e1828-9b2b-444f-8ec0-68ec9a3e2262"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/700e1828-9b2b-444f-8ec0-68ec9a3e2262"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/700e1828-9b2b-444f-8ec0-68ec9a3e2262"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/700e1828-9b2b-444f-8ec0-68ec9a3e2262"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/700e1828-9b2b-444f-8ec0-68ec9a3e2262"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/700e1828-9b2b-444f-8ec0-68ec9a3e2262"},"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/700e1828-9b2b-444f-8ec0-68ec9a3e2262"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.684523,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445776,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Nn0.8q5FGkaFJYpq55hdhtt9_tAyg_YD5_BFAkHOncS0Ox8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0d06ee50-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:60278","level":"info","msg":"Received request.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"client_addr":"127.0.0.1:60278","level":"info","msg":"Sent response.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.753724,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"client_addr":"127.0.0.1:56676","level":"info","msg":"Received request.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445776,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Nn0.8q5FGkaFJYpq55hdhtt9_tAyg_YD5_BFAkHOncS0Ox8"} 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":"0d073c70-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:56676","level":"info","msg":"Sent response.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.237203,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1d0b9cd1-2b58-41d5-86e1-d92ee1f98c90","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445776.3176768} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","object_type":"device","rebac_allow":false,"scope_allow":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":"0d076380-3d2f-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:15.562158806Z"}]},"request_id":"6b3e9f2b-012c-4bca-8ab5-a8d16dc0b0d2","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445776.3240108} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4/signaling 200 15ms","method":"POST","requestID":"0d076380-3d2f-11ef-b932-e1799b48160b","responseTime":15,"status":200,"url":"/devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0d06ee50-3d2f-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58ccf316-3db9-4a2e-9984-c5c1fcf5d870","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58ccf316-3db9-4a2e-9984-c5c1fcf5d870","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:15.612843934Z"}]},"request_id":"fe6895e4-4458-43ae-b8fa-1ada617396e5","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445776.3275204} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0d073c70-3d2f-11ef-b932-e1799b48160b"},"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/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4? 200 23ms","method":"GET","requestID":"0d06ee50-3d2f-11ef-b932-e1799b48160b","responseTime":23,"status":200,"url":"/devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4?"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:16Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870? 200 23ms","method":"GET","requestID":"0d073c70-3d2f-11ef-b932-e1799b48160b","responseTime":23,"status":200,"url":"/devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870?"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58ccf316-3db9-4a2e-9984-c5c1fcf5d870","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"63f0621d-f1a0-4b51-945e-403884437c4a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445776.33604} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.109104,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870","object_type":"device","rebac_allow":false,"scope_allow":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":"0d0a49b0-3d2f-11ef-b932-e1799b48160b"},"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":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ff3d6ae7-830f-46e7-a72b-688b79621661","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445776.33896} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F700e1828-9b2b-444f-8ec0-68ec9a3e2262#owner@http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F700e1828-9b2b-444f-8ec0-68ec9a3e2262","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"5f87149a-8b97-4e97-a14a-fd0b49adf5c2","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445776.3393369} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870/signaling 200 11ms","method":"POST","requestID":"0d0a49b0-3d2f-11ef-b932-e1799b48160b","responseTime":11,"status":200,"url":"/devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870/signaling"} 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":"d9de69073686c2093353c5b3d09f2891"},"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:58630","level":"info","msg":"Received request.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9d98a51c-6789-42cc-9f02-21e079a996f3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445776.34621} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.786348,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","object_type":"device","rebac_allow":false,"scope_allow":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":"0d0b3410-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/700e1828-9b2b-444f-8ec0-68ec9a3e2262","user":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/Jul/2024:13:36:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.140","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d9de69073686c2093353c5b3d09f2891"} experiment-1 | {"level":"info","message":"POST /experiments? 201 134ms","method":"POST","requestID":"d9de69073686c2093353c5b3d09f2891","responseTime":134,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4/signaling 200 13ms","method":"POST","requestID":"0d0b3410-3d2f-11ef-b932-e1799b48160b","responseTime":13,"status":200,"url":"/devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Nn0.8q5FGkaFJYpq55hdhtt9_tAyg_YD5_BFAkHOncS0Ox8","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:16Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e42be70d87efea75452e3c4882dabfd3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58ccf316-3db9-4a2e-9984-c5c1fcf5d870","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"70181387-b93c-426c-b29b-5a3bfae4617a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445776.356196} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.287586,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0d0d7e00-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:60278","level":"info","msg":"Received request.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"client_addr":"127.0.0.1:60278","level":"info","msg":"Sent response.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.902069,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445776,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Nn0.8q5FGkaFJYpq55hdhtt9_tAyg_YD5_BFAkHOncS0Ox8"} 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":"e42be70d87efea75452e3c4882dabfd3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870/signaling 200 9ms","method":"POST","requestID":"0d0d7e00-3d2f-11ef-b932-e1799b48160b","responseTime":9,"status":200,"url":"/devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870/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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:15.562158806Z"}]},"request_id":"7e06d401-6458-46f9-a7b5-83493237e66e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445776.3617911} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/700e1828-9b2b-444f-8ec0-68ec9a3e2262"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/700e1828-9b2b-444f-8ec0-68ec9a3e2262"},"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":"76ce163b-871f-4b14-a365-cb35542ac27c"},{"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":"077cccdf-8981-4056-8904-58e5e73e7d00"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"125c6e13-dda9-42b9-8242-e21e5ae4ef6a"}]},"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/58ccf316-3db9-4a2e-9984-c5c1fcf5d870"},{"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/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e42be70d87efea75452e3c4882dabfd3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:16Z"} gateway-1 | {"time_local":"08/Jul/2024:13:36:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e42be70d87efea75452e3c4882dabfd3"} device-1 | {"level":"info","message":"GET /devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4? 200 11ms","method":"GET","requestID":"e42be70d87efea75452e3c4882dabfd3","responseTime":11,"status":200,"url":"/devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4?"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.844113,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445776,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Nn0.8q5FGkaFJYpq55hdhtt9_tAyg_YD5_BFAkHOncS0Ox8"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0d0f52c0-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Nn0.8q5FGkaFJYpq55hdhtt9_tAyg_YD5_BFAkHOncS0Ox8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"beda099c1fbf24179a0e06d4aa474a80","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","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%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"f8c9b12d-7c71-41e3-b3ec-56ee5df46eb5","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445776.3737006} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1c061b9d-5da1-47a8-8bf9-e3b8ff21816a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445776.3742478} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.769857,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445776,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3Nn0.8q5FGkaFJYpq55hdhtt9_tAyg_YD5_BFAkHOncS0Ox8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"beda099c1fbf24179a0e06d4aa474a80"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} 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":"0d0f52c0-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58ccf316-3db9-4a2e-9984-c5c1fcf5d870","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58ccf316-3db9-4a2e-9984-c5c1fcf5d870","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:15.612843934Z"}]},"request_id":"eb964e05-e05c-4831-b920-4f33d32814a5","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445776.3798578} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"beda099c1fbf24179a0e06d4aa474a80"},"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/e5b0d1ff-5094-4293-9d44-dcdaece60814'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/e5b0d1ff-5094-4293-9d44-dcdaece60814'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 27ms","method":"POST","requestID":"0d0f52c0-3d2f-11ef-b932-e1799b48160b","responseTime":27,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:36:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"beda099c1fbf24179a0e06d4aa474a80"} device-1 | {"level":"info","message":"GET /devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870? 200 21ms","method":"GET","requestID":"beda099c1fbf24179a0e06d4aa474a80","responseTime":21,"status":200,"url":"/devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/700e1828-9b2b-444f-8ec0-68ec9a3e2262"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ff8e4208-fb56-471e-8efc-92aaebdfea40","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445776.421616} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.426268,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0d176910-3d2f-11ef-b932-e1799b48160b"},"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/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4/signaling 200 8ms","method":"POST","requestID":"0d176910-3d2f-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58ccf316-3db9-4a2e-9984-c5c1fcf5d870","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c6df5069-d698-448f-bd64-14fbba21b533","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445776.4311285} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.570248,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870","object_type":"device","rebac_allow":false,"scope_allow":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":"0d18efb0-3d2f-11ef-b932-e1799b48160b"},"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/58ccf316-3db9-4a2e-9984-c5c1fcf5d870/signaling 200 8ms","method":"POST","requestID":"0d18efb0-3d2f-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870/signaling"} device-1 | {"data":{"peerconnection":"e5b0d1ff-5094-4293-9d44-dcdaece60814","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"e5b0d1ff-5094-4293-9d44-dcdaece60814","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/e5b0d1ff-5094-4293-9d44-dcdaece60814' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e5b0d1ff-5094-4293-9d44-dcdaece60814","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4b99e520b98f8ecdee461b07ae139c29","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/58ccf316-3db9-4a2e-9984-c5c1fcf5d870"},{"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/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/e5b0d1ff-5094-4293-9d44-dcdaece60814"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"4b99e520b98f8ecdee461b07ae139c29","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:36:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"4b99e520b98f8ecdee461b07ae139c29"} device-1 | {"data":{"peerconnection":"e5b0d1ff-5094-4293-9d44-dcdaece60814","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"e5b0d1ff-5094-4293-9d44-dcdaece60814","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/e5b0d1ff-5094-4293-9d44-dcdaece60814' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e5b0d1ff-5094-4293-9d44-dcdaece60814","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"cb905512cffcd70439fbf46f3768862e","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/58ccf316-3db9-4a2e-9984-c5c1fcf5d870"},{"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/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/e5b0d1ff-5094-4293-9d44-dcdaece60814"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:18Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe5b0d1ff-5094-4293-9d44-dcdaece60814","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b08135b0-a8ec-4f8f-b3f7-aca763fdee12","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445778.508752} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.737153,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e5b0d1ff-5094-4293-9d44-dcdaece60814","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/e5b0d1ff-5094-4293-9d44-dcdaece60814","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":"0e55b570-3d2f-11ef-b932-e1799b48160b"},"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/e5b0d1ff-5094-4293-9d44-dcdaece60814 200 10ms","method":"GET","requestID":"0e55b570-3d2f-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/peerconnections/e5b0d1ff-5094-4293-9d44-dcdaece60814"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 35ms","method":"POST","requestID":"cb905512cffcd70439fbf46f3768862e","responseTime":35,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:36:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch","requestID":"cb905512cffcd70439fbf46f3768862e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:18Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58ccf316-3db9-4a2e-9984-c5c1fcf5d870","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d031ee96-3063-41c7-9bdc-09c3173c30ce","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445778.5402405} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.769017,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870","object_type":"device","rebac_allow":false,"scope_allow":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":"0e5a7060-3d2f-11ef-b932-e1799b48160b"},"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/58ccf316-3db9-4a2e-9984-c5c1fcf5d870/signaling 200 12ms","method":"POST","requestID":"0e5a7060-3d2f-11ef-b932-e1799b48160b","responseTime":12,"status":200,"url":"/devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:18Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"04527078-d216-494b-910b-cc5341ab0417","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445778.5550547} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.361288,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","object_type":"device","rebac_allow":false,"scope_allow":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":"0e5cba50-3d2f-11ef-b932-e1799b48160b"},"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/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4/signaling 200 13ms","method":"POST","requestID":"0e5cba50-3d2f-11ef-b932-e1799b48160b","responseTime":13,"status":200,"url":"/devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3OH0.mTBIJdO3KClk4LH0E0vMO3QWIrC81O-gb1VWHgnGLWk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f5f0dba1cbdbbbc6959ac56d44afa485","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/700e1828-9b2b-444f-8ec0-68ec9a3e2262"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:18Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.299201,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/700e1828-9b2b-444f-8ec0-68ec9a3e2262","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/700e1828-9b2b-444f-8ec0-68ec9a3e2262","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445778,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3OH0.mTBIJdO3KClk4LH0E0vMO3QWIrC81O-gb1VWHgnGLWk"} 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":"f5f0dba1cbdbbbc6959ac56d44afa485"},"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/700e1828-9b2b-444f-8ec0-68ec9a3e2262"} experiment-1 | {"level":"info","message":"GET /experiments/700e1828-9b2b-444f-8ec0-68ec9a3e2262 200 15ms","method":"GET","requestID":"f5f0dba1cbdbbbc6959ac56d44afa485","responseTime":15,"status":200,"url":"/experiments/700e1828-9b2b-444f-8ec0-68ec9a3e2262"} gateway-1 | {"time_local":"08/Jul/2024:13:36:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/700e1828-9b2b-444f-8ec0-68ec9a3e2262 HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f5f0dba1cbdbbbc6959ac56d44afa485"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3OH0.mTBIJdO3KClk4LH0E0vMO3QWIrC81O-gb1VWHgnGLWk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8c2a7362c70c9bcb9006feccd8686cff","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/700e1828-9b2b-444f-8ec0-68ec9a3e2262"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:18Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.172954,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:18Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/700e1828-9b2b-444f-8ec0-68ec9a3e2262","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/700e1828-9b2b-444f-8ec0-68ec9a3e2262","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445778,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3OH0.mTBIJdO3KClk4LH0E0vMO3QWIrC81O-gb1VWHgnGLWk"} 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":"8c2a7362c70c9bcb9006feccd8686cff"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/700e1828-9b2b-444f-8ec0-68ec9a3e2262"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:18Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.196591,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:18Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e5b0d1ff-5094-4293-9d44-dcdaece60814","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:http://localhost/peerconnections/e5b0d1ff-5094-4293-9d44-dcdaece60814","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445778,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3OH0.mTBIJdO3KClk4LH0E0vMO3QWIrC81O-gb1VWHgnGLWk"} 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":"0e696480-3d2f-11ef-b932-e1799b48160b"},"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/e5b0d1ff-5094-4293-9d44-dcdaece60814' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/e5b0d1ff-5094-4293-9d44-dcdaece60814' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e5b0d1ff-5094-4293-9d44-dcdaece60814","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe5b0d1ff-5094-4293-9d44-dcdaece60814': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe5b0d1ff-5094-4293-9d44-dcdaece60814","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"96097cc1-770b-42c3-8cb7-25d1af71f974","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445778.6571763} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fcc6fe7b2fe748c16263a70d0e9764d1","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"662510d6-5fdb-4084-8015-4690a472ede6","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445778.658005} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"23876bddbfc9f488d478048ca108309b","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":"0e696480-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","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/58ccf316-3db9-4a2e-9984-c5c1fcf5d870"},{"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/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e5b0d1ff-5094-4293-9d44-dcdaece60814"}}},"level":"info","message":"received a callback"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870"},{"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/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e5b0d1ff-5094-4293-9d44-dcdaece60814"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"e5b0d1ff-5094-4293-9d44-dcdaece60814","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/e5b0d1ff-5094-4293-9d44-dcdaece60814 204 47ms","method":"DELETE","requestID":"0e696480-3d2f-11ef-b932-e1799b48160b","responseTime":47,"status":204,"url":"/peerconnections/e5b0d1ff-5094-4293-9d44-dcdaece60814"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/700e1828-9b2b-444f-8ec0-68ec9a3e2262"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:18Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58ccf316-3db9-4a2e-9984-c5c1fcf5d870","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"98b3b248-0fd5-4bc3-80ee-75068d3456b1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445778.7070777} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.165305,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870","object_type":"device","rebac_allow":false,"scope_allow":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":"0e73c4c0-3d2f-11ef-b932-e1799b48160b"},"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/58ccf316-3db9-4a2e-9984-c5c1fcf5d870/signaling 200 13ms","method":"POST","requestID":"0e73c4c0-3d2f-11ef-b932-e1799b48160b","responseTime":13,"status":200,"url":"/devices/58ccf316-3db9-4a2e-9984-c5c1fcf5d870/signaling"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F700e1828-9b2b-444f-8ec0-68ec9a3e2262': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F700e1828-9b2b-444f-8ec0-68ec9a3e2262","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"0b943591-9a26-4813-9667-9f86bac13d3b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445778.7141757} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f626a2ba-8b9b-4d03-b7d1-b86c42481c50","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445778.7149725} 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":"8c2a7362c70c9bcb9006feccd8686cff"},"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:58630","level":"info","msg":"Received request.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:18Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a0253430-fed3-4703-b333-3d1194205ec7","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445778.7239175} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.883637,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4","object_type":"device","rebac_allow":false,"scope_allow":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":"0e765cd0-3d2f-11ef-b932-e1799b48160b"},"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/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4/signaling 200 13ms","method":"POST","requestID":"0e765cd0-3d2f-11ef-b932-e1799b48160b","responseTime":13,"status":200,"url":"/devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/700e1828-9b2b-444f-8ec0-68ec9a3e2262"} gateway-1 | {"time_local":"08/Jul/2024:13:36:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/700e1828-9b2b-444f-8ec0-68ec9a3e2262 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.169","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8c2a7362c70c9bcb9006feccd8686cff"} experiment-1 | {"level":"info","message":"DELETE /experiments/700e1828-9b2b-444f-8ec0-68ec9a3e2262 204 166ms","method":"DELETE","requestID":"8c2a7362c70c9bcb9006feccd8686cff","responseTime":166,"status":204,"url":"/experiments/700e1828-9b2b-444f-8ec0-68ec9a3e2262"} gateway-1 | {"time_local":"08/Jul/2024:13:36:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2707","request_time":"2.623","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"004325314750d205fe4f1ae2c4036f12"} gateway-1 | {"time_local":"08/Jul/2024:13:36:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2709","request_time":"2.631","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"9ba96233908a306b7f62dc7909f0c1d5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 125ms","method":"POST","requestID":"fcc6fe7b2fe748c16263a70d0e9764d1","responseTime":125,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:36:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.133","http_referrer":"","http_user_agent":"node-fetch","requestID":"fcc6fe7b2fe748c16263a70d0e9764d1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 127ms","method":"POST","requestID":"23876bddbfc9f488d478048ca108309b","responseTime":127,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:36:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.134","http_referrer":"","http_user_agent":"node-fetch","requestID":"23876bddbfc9f488d478048ca108309b"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/4ee26f1e-bb88-4eb5-82cb-b2e4b5da27a4' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3OH0.mTBIJdO3KClk4LH0E0vMO3QWIrC81O-gb1VWHgnGLWk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"a249400ee38de4c6198af642dd7db44b","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:18Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.052905,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445778,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3OH0.mTBIJdO3KClk4LH0E0vMO3QWIrC81O-gb1VWHgnGLWk"} 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":"a249400ee38de4c6198af642dd7db44b"},"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/58ccf316-3db9-4a2e-9984-c5c1fcf5d870' 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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62d1674e-66f8-462d-bdba-a71575a632fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c5113115-d263-43c9-9adf-209a6c344526","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445778.8094535} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a249400ee38de4c6198af642dd7db44b"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5d560b44-1786-4cbc-9e3f-9189e61aed0d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445778.814558} 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":"a249400ee38de4c6198af642dd7db44b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62d1674e-66f8-462d-bdba-a71575a632fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"c79e1e78-c204-4002-ac2e-db3adeed8ac6","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445778.823691} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b1c1be9f-ff08-447e-ac75-22919d5adaf6","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445778.8239126} 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":"a249400ee38de4c6198af642dd7db44b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62d1674e-66f8-462d-bdba-a71575a632fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62d1674e-66f8-462d-bdba-a71575a632fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:18.823655870Z"}]},"request_id":"41b4a889-08d6-4949-80e1-0c92d70c62f0","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445778.8289225} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a249400ee38de4c6198af642dd7db44b"},"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":"a249400ee38de4c6198af642dd7db44b","responseTime":39,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:13:36:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a249400ee38de4c6198af642dd7db44b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3OH0.mTBIJdO3KClk4LH0E0vMO3QWIrC81O-gb1VWHgnGLWk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b79deb63e7de3b3b9ba22f2a80081178","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:18Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.681543,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445778,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc3OH0.mTBIJdO3KClk4LH0E0vMO3QWIrC81O-gb1VWHgnGLWk"} 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":"b79deb63e7de3b3b9ba22f2a80081178"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2860976b-be4c-4c29-983f-f692d1a635a7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e76463d2-0876-4fa9-b66f-2b5232488576","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445778.8519864} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b79deb63e7de3b3b9ba22f2a80081178"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"97274f6a-45df-4d4c-8f44-b6a71cb3e676","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445778.856701} 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":"b79deb63e7de3b3b9ba22f2a80081178"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2860976b-be4c-4c29-983f-f692d1a635a7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"39dfdbbe-4cbb-404b-8f28-32c9f86b73f3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445778.8721085} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f871d4d4-36e5-4ab3-972c-1f1863be2801","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445778.8722203} 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":"b79deb63e7de3b3b9ba22f2a80081178"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2860976b-be4c-4c29-983f-f692d1a635a7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2860976b-be4c-4c29-983f-f692d1a635a7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:18.872071288Z"}]},"request_id":"e6f851f4-1f33-44d9-9c4b-1657c2272f61","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445778.8766134} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b79deb63e7de3b3b9ba22f2a80081178"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:36:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b79deb63e7de3b3b9ba22f2a80081178"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"b79deb63e7de3b3b9ba22f2a80081178","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8393be47d95353c15cb53c233afaa770","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} gateway-1 | {"time_local":"08/Jul/2024:13:36:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/2860976b-be4c-4c29-983f-f692d1a635a7/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":"8393be47d95353c15cb53c233afaa770"} device-1 | {"level":"info","message":"OPTIONS /devices/2860976b-be4c-4c29-983f-f692d1a635a7/websocket 200 1ms","method":"OPTIONS","requestID":"8393be47d95353c15cb53c233afaa770","responseTime":1,"status":200,"url":"/devices/2860976b-be4c-4c29-983f-f692d1a635a7/websocket"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7b361e1c6b53a383a6e1637181f0d501","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:36:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/62d1674e-66f8-462d-bdba-a71575a632fd/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":"7b361e1c6b53a383a6e1637181f0d501"} device-1 | {"level":"info","message":"OPTIONS /devices/62d1674e-66f8-462d-bdba-a71575a632fd/websocket 200 1ms","method":"OPTIONS","requestID":"7b361e1c6b53a383a6e1637181f0d501","responseTime":1,"status":200,"url":"/devices/62d1674e-66f8-462d-bdba-a71575a632fd/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4MH0.xZWmMojyBH1d3PbuPuCamN-oCMAvsNcee3-Y4MyMD1I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"7278223add39eea3f53517f02f8a4860","responseTime":8,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4MH0.xZWmMojyBH1d3PbuPuCamN-oCMAvsNcee3-Y4MyMD1I","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"dcfa8ee4c9c96912d5c24ac6766737fa","responseTime":8,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.686962,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2860976b-be4c-4c29-983f-f692d1a635a7","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/2860976b-be4c-4c29-983f-f692d1a635a7","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445780,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4MH0.xZWmMojyBH1d3PbuPuCamN-oCMAvsNcee3-Y4MyMD1I"} 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":"7278223add39eea3f53517f02f8a4860"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:56692","level":"info","msg":"Received request.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:20Z"} authorization-1 | {"client_addr":"127.0.0.1:56692","level":"info","msg":"Sent response.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.78577,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/62d1674e-66f8-462d-bdba-a71575a632fd","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/62d1674e-66f8-462d-bdba-a71575a632fd","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445780,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4MH0.xZWmMojyBH1d3PbuPuCamN-oCMAvsNcee3-Y4MyMD1I"} 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":"dcfa8ee4c9c96912d5c24ac6766737fa"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/2860976b-be4c-4c29-983f-f692d1a635a7/websocket 200 25ms","method":"POST","requestID":"7278223add39eea3f53517f02f8a4860","responseTime":25,"status":200,"url":"/devices/2860976b-be4c-4c29-983f-f692d1a635a7/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:36:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2860976b-be4c-4c29-983f-f692d1a635a7/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":"7278223add39eea3f53517f02f8a4860"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/62d1674e-66f8-462d-bdba-a71575a632fd/websocket 200 35ms","method":"POST","requestID":"dcfa8ee4c9c96912d5c24ac6766737fa","responseTime":35,"status":200,"url":"/devices/62d1674e-66f8-462d-bdba-a71575a632fd/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:36:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/62d1674e-66f8-462d-bdba-a71575a632fd/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":"dcfa8ee4c9c96912d5c24ac6766737fa"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2860976b-be4c-4c29-983f-f692d1a635a7' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/62d1674e-66f8-462d-bdba-a71575a632fd' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4MH0.xZWmMojyBH1d3PbuPuCamN-oCMAvsNcee3-Y4MyMD1I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7e80210cbea9fcdfed4b65ad54b50dc8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.669426,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/62d1674e-66f8-462d-bdba-a71575a632fd","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/62d1674e-66f8-462d-bdba-a71575a632fd","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445780,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4MH0.xZWmMojyBH1d3PbuPuCamN-oCMAvsNcee3-Y4MyMD1I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7e80210cbea9fcdfed4b65ad54b50dc8"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62d1674e-66f8-462d-bdba-a71575a632fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62d1674e-66f8-462d-bdba-a71575a632fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:18.823655870Z"}]},"request_id":"9e3c6e9e-11fe-46f5-b7e5-3ada2c6b5f36","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445780.9443505} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7e80210cbea9fcdfed4b65ad54b50dc8"},"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/62d1674e-66f8-462d-bdba-a71575a632fd? 200 12ms","method":"GET","requestID":"7e80210cbea9fcdfed4b65ad54b50dc8","responseTime":12,"status":200,"url":"/devices/62d1674e-66f8-462d-bdba-a71575a632fd?"} gateway-1 | {"time_local":"08/Jul/2024:13:36:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/62d1674e-66f8-462d-bdba-a71575a632fd? 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":"7e80210cbea9fcdfed4b65ad54b50dc8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4MH0.xZWmMojyBH1d3PbuPuCamN-oCMAvsNcee3-Y4MyMD1I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"73e71e51494144048c914051c98b1335","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.471826,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2860976b-be4c-4c29-983f-f692d1a635a7","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/2860976b-be4c-4c29-983f-f692d1a635a7","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445780,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4MH0.xZWmMojyBH1d3PbuPuCamN-oCMAvsNcee3-Y4MyMD1I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"73e71e51494144048c914051c98b1335"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2860976b-be4c-4c29-983f-f692d1a635a7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2860976b-be4c-4c29-983f-f692d1a635a7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:18.872071288Z"}]},"request_id":"54e56453-ec0a-49ea-b124-c851afc8ab20","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445780.964222} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"73e71e51494144048c914051c98b1335"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:36:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2860976b-be4c-4c29-983f-f692d1a635a7? 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":"73e71e51494144048c914051c98b1335"} device-1 | {"level":"info","message":"GET /devices/2860976b-be4c-4c29-983f-f692d1a635a7? 200 12ms","method":"GET","requestID":"73e71e51494144048c914051c98b1335","responseTime":12,"status":200,"url":"/devices/2860976b-be4c-4c29-983f-f692d1a635a7?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4MH0.xZWmMojyBH1d3PbuPuCamN-oCMAvsNcee3-Y4MyMD1I","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6de6c5c80eed8afbd5c062066bbdcd81","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:58630","level":"info","msg":"Received request.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.222067,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445780,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4MH0.xZWmMojyBH1d3PbuPuCamN-oCMAvsNcee3-Y4MyMD1I"} 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":"6de6c5c80eed8afbd5c062066bbdcd81"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4b03614d-8892-467b-aa4f-5109c1d32bb2"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4b03614d-8892-467b-aa4f-5109c1d32bb2"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4b03614d-8892-467b-aa4f-5109c1d32bb2"},"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:58630","level":"info","msg":"Received request.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"client_addr":"127.0.0.1:56692","level":"info","msg":"Received request.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.135566,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/62d1674e-66f8-462d-bdba-a71575a632fd","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/62d1674e-66f8-462d-bdba-a71575a632fd","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445780,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4MH0.xZWmMojyBH1d3PbuPuCamN-oCMAvsNcee3-Y4MyMD1I"} 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":"0fd43f20-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:56692","level":"info","msg":"Sent response.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.677844,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2860976b-be4c-4c29-983f-f692d1a635a7","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/2860976b-be4c-4c29-983f-f692d1a635a7","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445780,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4MH0.xZWmMojyBH1d3PbuPuCamN-oCMAvsNcee3-Y4MyMD1I"} 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":"0fd46630-3d2f-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62d1674e-66f8-462d-bdba-a71575a632fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62d1674e-66f8-462d-bdba-a71575a632fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:18.823655870Z"}]},"request_id":"94274f78-8168-4c9a-8d0e-19eb26bbc80b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445781.0187092} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0fd43f20-3d2f-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2860976b-be4c-4c29-983f-f692d1a635a7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2860976b-be4c-4c29-983f-f692d1a635a7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:18.872071288Z"}]},"request_id":"eb8200eb-51a8-4fdd-b530-4da6b765a91b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445781.0200317} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0fd46630-3d2f-11ef-b932-e1799b48160b"},"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/62d1674e-66f8-462d-bdba-a71575a632fd? 200 16ms","method":"GET","requestID":"0fd43f20-3d2f-11ef-b932-e1799b48160b","responseTime":16,"status":200,"url":"/devices/62d1674e-66f8-462d-bdba-a71575a632fd?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2860976b-be4c-4c29-983f-f692d1a635a7? 200 16ms","method":"GET","requestID":"0fd46630-3d2f-11ef-b932-e1799b48160b","responseTime":16,"status":200,"url":"/devices/2860976b-be4c-4c29-983f-f692d1a635a7?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4b03614d-8892-467b-aa4f-5109c1d32bb2"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4b03614d-8892-467b-aa4f-5109c1d32bb2"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4b03614d-8892-467b-aa4f-5109c1d32bb2"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4b03614d-8892-467b-aa4f-5109c1d32bb2"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4b03614d-8892-467b-aa4f-5109c1d32bb2"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4b03614d-8892-467b-aa4f-5109c1d32bb2"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4b03614d-8892-467b-aa4f-5109c1d32bb2"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4b03614d-8892-467b-aa4f-5109c1d32bb2"},"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:58630","level":"info","msg":"Received request.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"client_addr":"127.0.0.1:56692","level":"info","msg":"Received request.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:21Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4b03614d-8892-467b-aa4f-5109c1d32bb2"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.965202,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"client_addr":"127.0.0.1:56692","level":"info","msg":"Sent response.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.308223,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/62d1674e-66f8-462d-bdba-a71575a632fd","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/62d1674e-66f8-462d-bdba-a71575a632fd","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445780,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4MH0.xZWmMojyBH1d3PbuPuCamN-oCMAvsNcee3-Y4MyMD1I"} 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":"0fde7850-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2860976b-be4c-4c29-983f-f692d1a635a7","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/2860976b-be4c-4c29-983f-f692d1a635a7","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445780,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4MH0.xZWmMojyBH1d3PbuPuCamN-oCMAvsNcee3-Y4MyMD1I"} 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":"0fdec670-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:56696","level":"info","msg":"Received request.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2860976b-be4c-4c29-983f-f692d1a635a7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2860976b-be4c-4c29-983f-f692d1a635a7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:18.872071288Z"}]},"request_id":"8c7f15d9-6791-4db1-9108-58de963059a6","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445781.0918064} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62d1674e-66f8-462d-bdba-a71575a632fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c2ed4230-a076-4f92-bc5e-6b19dbcf7ccc","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445781.0922995} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0fdec670-3d2f-11ef-b932-e1799b48160b"},"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:56696","level":"info","msg":"Sent response.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.63539,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62d1674e-66f8-462d-bdba-a71575a632fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62d1674e-66f8-462d-bdba-a71575a632fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:18.823655870Z"}]},"request_id":"a7e2e3de-a97f-4004-9114-bd16165e59b4","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445781.0925925} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0fde7850-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/62d1674e-66f8-462d-bdba-a71575a632fd","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/62d1674e-66f8-462d-bdba-a71575a632fd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0fdf1490-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2860976b-be4c-4c29-983f-f692d1a635a7? 200 19ms","method":"GET","requestID":"0fdec670-3d2f-11ef-b932-e1799b48160b","responseTime":19,"status":200,"url":"/devices/2860976b-be4c-4c29-983f-f692d1a635a7?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/62d1674e-66f8-462d-bdba-a71575a632fd? 200 21ms","method":"GET","requestID":"0fde7850-3d2f-11ef-b932-e1799b48160b","responseTime":21,"status":200,"url":"/devices/62d1674e-66f8-462d-bdba-a71575a632fd?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/62d1674e-66f8-462d-bdba-a71575a632fd/signaling 200 19ms","method":"POST","requestID":"0fdf1490-3d2f-11ef-b932-e1799b48160b","responseTime":19,"status":200,"url":"/devices/62d1674e-66f8-462d-bdba-a71575a632fd/signaling"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4b03614d-8892-467b-aa4f-5109c1d32bb2#owner@http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4b03614d-8892-467b-aa4f-5109c1d32bb2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"a8e5fa56-e8f6-448d-967e-e695b45d104d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445781.1015587} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eb25197c-c708-4aa3-a6a1-8a48666f1de2","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445781.101744} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6de6c5c80eed8afbd5c062066bbdcd81"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"client_addr":"127.0.0.1:56692","level":"info","msg":"Received request.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62d1674e-66f8-462d-bdba-a71575a632fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eb8c69e1-fff1-4a81-8102-205e077d1199","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445781.1074214} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.855928,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/62d1674e-66f8-462d-bdba-a71575a632fd","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/62d1674e-66f8-462d-bdba-a71575a632fd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0fe248e0-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2860976b-be4c-4c29-983f-f692d1a635a7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"808d2bdc-7d54-4b2b-b197-fae1e1fb7831","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445781.1095903} experiment-1 | {"data":{"experiment":"http://localhost/experiments/4b03614d-8892-467b-aa4f-5109c1d32bb2","user":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:56692","level":"info","msg":"Sent response.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.301496,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:21Z"} gateway-1 | {"time_local":"08/Jul/2024:13:36:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.142","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6de6c5c80eed8afbd5c062066bbdcd81"} experiment-1 | {"level":"info","message":"POST /experiments? 201 136ms","method":"POST","requestID":"6de6c5c80eed8afbd5c062066bbdcd81","responseTime":136,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2860976b-be4c-4c29-983f-f692d1a635a7","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2860976b-be4c-4c29-983f-f692d1a635a7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0fe29700-3d2f-11ef-b932-e1799b48160b"},"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/62d1674e-66f8-462d-bdba-a71575a632fd/signaling 200 10ms","method":"POST","requestID":"0fe248e0-3d2f-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/62d1674e-66f8-462d-bdba-a71575a632fd/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2860976b-be4c-4c29-983f-f692d1a635a7/signaling 200 12ms","method":"POST","requestID":"0fe29700-3d2f-11ef-b932-e1799b48160b","responseTime":12,"status":200,"url":"/devices/2860976b-be4c-4c29-983f-f692d1a635a7/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4MX0.cl-gtQiSmHE-zvMQeXWikVg7yeEhCB6yUhN4ki8Fn1M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"b70980b83b598c0af7e59481e5dc01ee","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.608705,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2860976b-be4c-4c29-983f-f692d1a635a7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c8afd0f3-b515-4dad-962b-64e581dacd26","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445781.1207938} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2860976b-be4c-4c29-983f-f692d1a635a7","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2860976b-be4c-4c29-983f-f692d1a635a7","object_type":"device","rebac_allow":false,"scope_allow":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":"0fe444b0-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:56692","level":"info","msg":"Received request.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"client_addr":"127.0.0.1:56692","level":"info","msg":"Sent response.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.086125,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/62d1674e-66f8-462d-bdba-a71575a632fd","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/62d1674e-66f8-462d-bdba-a71575a632fd","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445781,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4MX0.cl-gtQiSmHE-zvMQeXWikVg7yeEhCB6yUhN4ki8Fn1M"} 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":"b70980b83b598c0af7e59481e5dc01ee"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2860976b-be4c-4c29-983f-f692d1a635a7/signaling 200 12ms","method":"POST","requestID":"0fe444b0-3d2f-11ef-b932-e1799b48160b","responseTime":12,"status":200,"url":"/devices/2860976b-be4c-4c29-983f-f692d1a635a7/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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62d1674e-66f8-462d-bdba-a71575a632fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62d1674e-66f8-462d-bdba-a71575a632fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:18.823655870Z"}]},"request_id":"391fc14e-f0d5-43ff-8e61-9f79a4c03503","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445781.1284404} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4b03614d-8892-467b-aa4f-5109c1d32bb2"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4b03614d-8892-467b-aa4f-5109c1d32bb2"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"5b04af8d-2669-4056-b051-ee59cf2ee850"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"852f7c91-1bfa-40ee-a153-8f634c571095"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"440880dd-9c4e-43b1-b006-35c83954aa12"}]},"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/62d1674e-66f8-462d-bdba-a71575a632fd"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/2860976b-be4c-4c29-983f-f692d1a635a7"}],"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":"b70980b83b598c0af7e59481e5dc01ee"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:36:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/62d1674e-66f8-462d-bdba-a71575a632fd? 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":"b70980b83b598c0af7e59481e5dc01ee"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:21Z"} device-1 | {"level":"info","message":"GET /devices/62d1674e-66f8-462d-bdba-a71575a632fd? 200 12ms","method":"GET","requestID":"b70980b83b598c0af7e59481e5dc01ee","responseTime":12,"status":200,"url":"/devices/62d1674e-66f8-462d-bdba-a71575a632fd?"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.72847,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445780,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4MH0.xZWmMojyBH1d3PbuPuCamN-oCMAvsNcee3-Y4MyMD1I"} 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":"0fe6b5b0-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4MX0.cl-gtQiSmHE-zvMQeXWikVg7yeEhCB6yUhN4ki8Fn1M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9f132c6ce3babf630ffcd6ffc5a596ee","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","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%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"a5e209b0-c83a-4664-bd03-28066e20022f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445781.140526} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a8bb8605-d6e0-4f48-bd3d-432185717dc4","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445781.1415431} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:21Z"} 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":"0fe6b5b0-3d2f-11ef-b932-e1799b48160b"},"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:58630","level":"info","msg":"Sent response.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.750045,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2860976b-be4c-4c29-983f-f692d1a635a7","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/2860976b-be4c-4c29-983f-f692d1a635a7","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445781,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4MX0.cl-gtQiSmHE-zvMQeXWikVg7yeEhCB6yUhN4ki8Fn1M"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9f132c6ce3babf630ffcd6ffc5a596ee"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2860976b-be4c-4c29-983f-f692d1a635a7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2860976b-be4c-4c29-983f-f692d1a635a7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:18.872071288Z"}]},"request_id":"1500bb98-bbe3-43d9-9d9b-0fdaafda3b52","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445781.146993} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9f132c6ce3babf630ffcd6ffc5a596ee"},"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/bc4c062f-f671-44de-aa6f-2d77e9af1b30'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/bc4c062f-f671-44de-aa6f-2d77e9af1b30'"} 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 25ms","method":"POST","requestID":"0fe6b5b0-3d2f-11ef-b932-e1799b48160b","responseTime":25,"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/2860976b-be4c-4c29-983f-f692d1a635a7? 200 19ms","method":"GET","requestID":"9f132c6ce3babf630ffcd6ffc5a596ee","responseTime":19,"status":200,"url":"/devices/2860976b-be4c-4c29-983f-f692d1a635a7?"} gateway-1 | {"time_local":"08/Jul/2024:13:36:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2860976b-be4c-4c29-983f-f692d1a635a7? 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":"9f132c6ce3babf630ffcd6ffc5a596ee"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4b03614d-8892-467b-aa4f-5109c1d32bb2"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62d1674e-66f8-462d-bdba-a71575a632fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"83b0d8c3-a35c-4eb0-a24b-ba2d17e271f3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445781.1848462} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.463165,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/62d1674e-66f8-462d-bdba-a71575a632fd","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/62d1674e-66f8-462d-bdba-a71575a632fd","object_type":"device","rebac_allow":false,"scope_allow":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":"0fee2fc0-3d2f-11ef-b932-e1799b48160b"},"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/62d1674e-66f8-462d-bdba-a71575a632fd/signaling 200 8ms","method":"POST","requestID":"0fee2fc0-3d2f-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/devices/62d1674e-66f8-462d-bdba-a71575a632fd/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2860976b-be4c-4c29-983f-f692d1a635a7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9de38419-b748-4ac5-a9fd-a511ecf54fb1","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445781.1944118} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.557748,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2860976b-be4c-4c29-983f-f692d1a635a7","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2860976b-be4c-4c29-983f-f692d1a635a7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0fefb660-3d2f-11ef-b932-e1799b48160b"},"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/2860976b-be4c-4c29-983f-f692d1a635a7/signaling 200 8ms","method":"POST","requestID":"0fefb660-3d2f-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/devices/2860976b-be4c-4c29-983f-f692d1a635a7/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/62d1674e-66f8-462d-bdba-a71575a632fd'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/62d1674e-66f8-462d-bdba-a71575a632fd'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/2860976b-be4c-4c29-983f-f692d1a635a7'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/bc4c062f-f671-44de-aa6f-2d77e9af1b30' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bc4c062f-f671-44de-aa6f-2d77e9af1b30","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0f4c8302fe49e75917136e2c1d64952d","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/62d1674e-66f8-462d-bdba-a71575a632fd"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/2860976b-be4c-4c29-983f-f692d1a635a7"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/bc4c062f-f671-44de-aa6f-2d77e9af1b30"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"0f4c8302fe49e75917136e2c1d64952d","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:36:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"0f4c8302fe49e75917136e2c1d64952d"} device-1 | {"data":{"peerconnection":"bc4c062f-f671-44de-aa6f-2d77e9af1b30","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"bc4c062f-f671-44de-aa6f-2d77e9af1b30","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/bc4c062f-f671-44de-aa6f-2d77e9af1b30' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bc4c062f-f671-44de-aa6f-2d77e9af1b30","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"469fae0bb66f35d9400dff1d14c31ce1","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/62d1674e-66f8-462d-bdba-a71575a632fd"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/2860976b-be4c-4c29-983f-f692d1a635a7"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/bc4c062f-f671-44de-aa6f-2d77e9af1b30"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbc4c062f-f671-44de-aa6f-2d77e9af1b30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"de6406fc-d792-4fec-9e9d-936e8721295a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445781.2674618} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.038264,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/bc4c062f-f671-44de-aa6f-2d77e9af1b30","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/bc4c062f-f671-44de-aa6f-2d77e9af1b30","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0ffad9f0-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/bc4c062f-f671-44de-aa6f-2d77e9af1b30 200 7ms","method":"GET","requestID":"0ffad9f0-3d2f-11ef-b932-e1799b48160b","responseTime":7,"status":200,"url":"/peerconnections/bc4c062f-f671-44de-aa6f-2d77e9af1b30"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 29ms","method":"POST","requestID":"469fae0bb66f35d9400dff1d14c31ce1","responseTime":29,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:36:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"469fae0bb66f35d9400dff1d14c31ce1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62d1674e-66f8-462d-bdba-a71575a632fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0b9aac3b-3c3a-4d49-9d23-5faf10b3d0ee","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445781.2933533} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.065401,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/62d1674e-66f8-462d-bdba-a71575a632fd","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/62d1674e-66f8-462d-bdba-a71575a632fd","object_type":"device","rebac_allow":false,"scope_allow":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":"0ffed190-3d2f-11ef-b932-e1799b48160b"},"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/62d1674e-66f8-462d-bdba-a71575a632fd/signaling 200 7ms","method":"POST","requestID":"0ffed190-3d2f-11ef-b932-e1799b48160b","responseTime":7,"status":200,"url":"/devices/62d1674e-66f8-462d-bdba-a71575a632fd/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2860976b-be4c-4c29-983f-f692d1a635a7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ab454719-e29a-40b7-af20-353d90a8d101","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445781.3022928} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.153045,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2860976b-be4c-4c29-983f-f692d1a635a7","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2860976b-be4c-4c29-983f-f692d1a635a7","object_type":"device","rebac_allow":false,"scope_allow":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":"10003120-3d2f-11ef-b932-e1799b48160b"},"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/2860976b-be4c-4c29-983f-f692d1a635a7/signaling 200 7ms","method":"POST","requestID":"10003120-3d2f-11ef-b932-e1799b48160b","responseTime":7,"status":200,"url":"/devices/2860976b-be4c-4c29-983f-f692d1a635a7/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4MX0.cl-gtQiSmHE-zvMQeXWikVg7yeEhCB6yUhN4ki8Fn1M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"eddcca1e17e9d18833462740cf18b198","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4b03614d-8892-467b-aa4f-5109c1d32bb2"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.679378,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4b03614d-8892-467b-aa4f-5109c1d32bb2","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/4b03614d-8892-467b-aa4f-5109c1d32bb2","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445781,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4MX0.cl-gtQiSmHE-zvMQeXWikVg7yeEhCB6yUhN4ki8Fn1M"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eddcca1e17e9d18833462740cf18b198"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/4b03614d-8892-467b-aa4f-5109c1d32bb2"} experiment-1 | {"level":"info","message":"GET /experiments/4b03614d-8892-467b-aa4f-5109c1d32bb2 200 7ms","method":"GET","requestID":"eddcca1e17e9d18833462740cf18b198","responseTime":7,"status":200,"url":"/experiments/4b03614d-8892-467b-aa4f-5109c1d32bb2"} gateway-1 | {"time_local":"08/Jul/2024:13:36:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4b03614d-8892-467b-aa4f-5109c1d32bb2 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eddcca1e17e9d18833462740cf18b198"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4MX0.cl-gtQiSmHE-zvMQeXWikVg7yeEhCB6yUhN4ki8Fn1M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6296e869f6a8aba41bb41e13e974ace4","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/4b03614d-8892-467b-aa4f-5109c1d32bb2"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.675994,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4b03614d-8892-467b-aa4f-5109c1d32bb2","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/4b03614d-8892-467b-aa4f-5109c1d32bb2","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445781,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4MX0.cl-gtQiSmHE-zvMQeXWikVg7yeEhCB6yUhN4ki8Fn1M"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6296e869f6a8aba41bb41e13e974ace4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4b03614d-8892-467b-aa4f-5109c1d32bb2"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.666925,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/bc4c062f-f671-44de-aa6f-2d77e9af1b30","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:http://localhost/peerconnections/bc4c062f-f671-44de-aa6f-2d77e9af1b30","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445781,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4MX0.cl-gtQiSmHE-zvMQeXWikVg7yeEhCB6yUhN4ki8Fn1M"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"100a9160-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/bc4c062f-f671-44de-aa6f-2d77e9af1b30' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/bc4c062f-f671-44de-aa6f-2d77e9af1b30' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bc4c062f-f671-44de-aa6f-2d77e9af1b30","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbc4c062f-f671-44de-aa6f-2d77e9af1b30': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbc4c062f-f671-44de-aa6f-2d77e9af1b30","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"e43af06c-5676-462d-8770-334560c3ae29","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445781.3786986} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4295f3d0-d647-4ec1-b096-b38dac1a6bce","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445781.379052} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5b9b129ea798b33d287477d5f7a8f1d0","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"100a9160-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/62d1674e-66f8-462d-bdba-a71575a632fd"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/2860976b-be4c-4c29-983f-f692d1a635a7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/bc4c062f-f671-44de-aa6f-2d77e9af1b30"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1ebb6d5c7f44ec920052691d6467104e","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/62d1674e-66f8-462d-bdba-a71575a632fd"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/2860976b-be4c-4c29-983f-f692d1a635a7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/bc4c062f-f671-44de-aa6f-2d77e9af1b30"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/bc4c062f-f671-44de-aa6f-2d77e9af1b30 204 31ms","method":"DELETE","requestID":"100a9160-3d2f-11ef-b932-e1799b48160b","responseTime":31,"status":204,"url":"/peerconnections/bc4c062f-f671-44de-aa6f-2d77e9af1b30"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/62d1674e-66f8-462d-bdba-a71575a632fd'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4b03614d-8892-467b-aa4f-5109c1d32bb2"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62d1674e-66f8-462d-bdba-a71575a632fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"87f8d679-531c-49ba-a1db-4801dd64a9b0","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445781.4195952} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.176071,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/62d1674e-66f8-462d-bdba-a71575a632fd","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/62d1674e-66f8-462d-bdba-a71575a632fd","object_type":"device","rebac_allow":false,"scope_allow":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":"10120b70-3d2f-11ef-b932-e1799b48160b"},"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/62d1674e-66f8-462d-bdba-a71575a632fd/signaling 200 8ms","method":"POST","requestID":"10120b70-3d2f-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/devices/62d1674e-66f8-462d-bdba-a71575a632fd/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4b03614d-8892-467b-aa4f-5109c1d32bb2': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4b03614d-8892-467b-aa4f-5109c1d32bb2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"8c189bd5-c99c-4be3-9b85-456167c74a2a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445781.4259002} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e55fa660-b31c-45bc-9861-dca8861a096e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445781.4262338} 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":"6296e869f6a8aba41bb41e13e974ace4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2860976b-be4c-4c29-983f-f692d1a635a7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9804ffb0-0918-48fc-a1b5-f5ded7f96d41","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445781.4299412} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.361777,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2860976b-be4c-4c29-983f-f692d1a635a7","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2860976b-be4c-4c29-983f-f692d1a635a7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"10139210-3d2f-11ef-b932-e1799b48160b"},"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/2860976b-be4c-4c29-983f-f692d1a635a7/signaling 200 8ms","method":"POST","requestID":"10139210-3d2f-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/devices/2860976b-be4c-4c29-983f-f692d1a635a7/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/4b03614d-8892-467b-aa4f-5109c1d32bb2"} gateway-1 | {"time_local":"08/Jul/2024:13:36:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/4b03614d-8892-467b-aa4f-5109c1d32bb2 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.134","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6296e869f6a8aba41bb41e13e974ace4"} experiment-1 | {"level":"info","message":"DELETE /experiments/4b03614d-8892-467b-aa4f-5109c1d32bb2 204 131ms","method":"DELETE","requestID":"6296e869f6a8aba41bb41e13e974ace4","responseTime":131,"status":204,"url":"/experiments/4b03614d-8892-467b-aa4f-5109c1d32bb2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 109ms","method":"POST","requestID":"5b9b129ea798b33d287477d5f7a8f1d0","responseTime":109,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:36:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.112","http_referrer":"","http_user_agent":"node-fetch","requestID":"5b9b129ea798b33d287477d5f7a8f1d0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 109ms","method":"POST","requestID":"1ebb6d5c7f44ec920052691d6467104e","responseTime":109,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:36:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.113","http_referrer":"","http_user_agent":"node-fetch","requestID":"1ebb6d5c7f44ec920052691d6467104e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4MX0.cl-gtQiSmHE-zvMQeXWikVg7yeEhCB6yUhN4ki8Fn1M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"17fd6e8a63f3598271fb88a94d0412e5","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/Jul/2024:13:36:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2646","request_time":"0.592","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9f3e4dca4bed7e27809c67a409de6222"} gateway-1 | {"time_local":"08/Jul/2024:13:36:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2646","request_time":"0.581","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"153f5501f8237615137aa5fe6e1f99e1"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.876984,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445781,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4MX0.cl-gtQiSmHE-zvMQeXWikVg7yeEhCB6yUhN4ki8Fn1M"} 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":"17fd6e8a63f3598271fb88a94d0412e5"},"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/62d1674e-66f8-462d-bdba-a71575a632fd' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/2860976b-be4c-4c29-983f-f692d1a635a7' 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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f627c26-ddc2-425f-804f-31f9c1480dbf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0190c293-2833-4e32-a7f3-4e0304285c64","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445781.5161574} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"17fd6e8a63f3598271fb88a94d0412e5"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3094916b-a291-4524-a81b-45945b775882","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445781.5200381} 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":"17fd6e8a63f3598271fb88a94d0412e5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f627c26-ddc2-425f-804f-31f9c1480dbf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"f26dba26-9f2d-4bbf-9d1e-8492b776348d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445781.5295937} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bd0c2ad3-f29b-40a3-9e5c-77fb07313b05","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445781.529842} 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":"17fd6e8a63f3598271fb88a94d0412e5"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f627c26-ddc2-425f-804f-31f9c1480dbf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f627c26-ddc2-425f-804f-31f9c1480dbf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:21.529558604Z"}]},"request_id":"dbb441ce-e121-42f6-abc5-058bf4588e96","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445781.5329552} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"17fd6e8a63f3598271fb88a94d0412e5"},"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":"17fd6e8a63f3598271fb88a94d0412e5","responseTime":40,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/Jul/2024:13:36:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"315","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"17fd6e8a63f3598271fb88a94d0412e5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4MX0.cl-gtQiSmHE-zvMQeXWikVg7yeEhCB6yUhN4ki8Fn1M","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d195f0ece3a13cb8852ae7acacaf826e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.811315,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445781,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4MX0.cl-gtQiSmHE-zvMQeXWikVg7yeEhCB6yUhN4ki8Fn1M"} 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":"d195f0ece3a13cb8852ae7acacaf826e"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d02645c-2e58-4ae6-8f75-017bca256bad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c73b61be-5039-4c5a-b5ec-28e23044b5b7","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445781.5537214} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d195f0ece3a13cb8852ae7acacaf826e"},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e0db8b5f-b04f-4cf9-8433-5507cdd43172","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445781.5573397} 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":"d195f0ece3a13cb8852ae7acacaf826e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d02645c-2e58-4ae6-8f75-017bca256bad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"0d3992d9-f48b-43f2-9fa7-83297e23233a","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445781.5704968} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c4508612-2a60-4834-9556-4217a156808e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445781.570701} 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":"d195f0ece3a13cb8852ae7acacaf826e"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d02645c-2e58-4ae6-8f75-017bca256bad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d02645c-2e58-4ae6-8f75-017bca256bad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:21.570473101Z"}]},"request_id":"f0988cc3-944f-408e-b2ef-935056ec343e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445781.5746202} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d195f0ece3a13cb8852ae7acacaf826e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:36:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d195f0ece3a13cb8852ae7acacaf826e"} device-1 | {"level":"info","message":"POST /devices? 201 37ms","method":"POST","requestID":"d195f0ece3a13cb8852ae7acacaf826e","responseTime":37,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9f7cbeb09df5ffca8f384fa6cb9728f5","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:36:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/3d02645c-2e58-4ae6-8f75-017bca256bad/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":"9f7cbeb09df5ffca8f384fa6cb9728f5"} device-1 | {"level":"info","message":"OPTIONS /devices/3d02645c-2e58-4ae6-8f75-017bca256bad/websocket 200 1ms","method":"OPTIONS","requestID":"9f7cbeb09df5ffca8f384fa6cb9728f5","responseTime":1,"status":200,"url":"/devices/3d02645c-2e58-4ae6-8f75-017bca256bad/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4M30.jOhBPF_mrJD7evJOJwapG5eVSU-O_fPax7uyZE0lt0E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2e81a18634fae726141bcc88faa7aed4","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.292361,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d02645c-2e58-4ae6-8f75-017bca256bad","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/3d02645c-2e58-4ae6-8f75-017bca256bad","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445783,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4M30.jOhBPF_mrJD7evJOJwapG5eVSU-O_fPax7uyZE0lt0E"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2e81a18634fae726141bcc88faa7aed4"},"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/3d02645c-2e58-4ae6-8f75-017bca256bad/websocket 200 22ms","method":"POST","requestID":"2e81a18634fae726141bcc88faa7aed4","responseTime":22,"status":200,"url":"/devices/3d02645c-2e58-4ae6-8f75-017bca256bad/websocket"} gateway-1 | {"time_local":"08/Jul/2024:13:36:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3d02645c-2e58-4ae6-8f75-017bca256bad/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2e81a18634fae726141bcc88faa7aed4"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3d02645c-2e58-4ae6-8f75-017bca256bad' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4M30.jOhBPF_mrJD7evJOJwapG5eVSU-O_fPax7uyZE0lt0E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"54bd3f8db8f6876c1832a67ea7d65db3","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.320245,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d02645c-2e58-4ae6-8f75-017bca256bad","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/3d02645c-2e58-4ae6-8f75-017bca256bad","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445783,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4M30.jOhBPF_mrJD7evJOJwapG5eVSU-O_fPax7uyZE0lt0E"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"54bd3f8db8f6876c1832a67ea7d65db3"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d02645c-2e58-4ae6-8f75-017bca256bad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d02645c-2e58-4ae6-8f75-017bca256bad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:21.570473101Z"}]},"request_id":"092f39ea-23d0-4d8e-b010-592d167a7437","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445783.65208} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"54bd3f8db8f6876c1832a67ea7d65db3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:36:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3d02645c-2e58-4ae6-8f75-017bca256bad? 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":"54bd3f8db8f6876c1832a67ea7d65db3"} device-1 | {"level":"info","message":"GET /devices/3d02645c-2e58-4ae6-8f75-017bca256bad? 200 16ms","method":"GET","requestID":"54bd3f8db8f6876c1832a67ea7d65db3","responseTime":16,"status":200,"url":"/devices/3d02645c-2e58-4ae6-8f75-017bca256bad?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4M30.jOhBPF_mrJD7evJOJwapG5eVSU-O_fPax7uyZE0lt0E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"987d70c78b1866277a1d2ea1e212ea85","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:58630","level":"info","msg":"Received request.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.304386,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445783,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4M30.jOhBPF_mrJD7evJOJwapG5eVSU-O_fPax7uyZE0lt0E"} 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":"987d70c78b1866277a1d2ea1e212ea85"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f37e730-22f9-4daf-9e1b-7f20957fb1cc"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f37e730-22f9-4daf-9e1b-7f20957fb1cc"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f37e730-22f9-4daf-9e1b-7f20957fb1cc"},"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:58630","level":"info","msg":"Received request.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.959357,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:23Z"} authorization-1 | {"client_addr":"127.0.0.1:56692","level":"info","msg":"Received request.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4f627c26-ddc2-425f-804f-31f9c1480dbf","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/4f627c26-ddc2-425f-804f-31f9c1480dbf","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445783,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4M30.jOhBPF_mrJD7evJOJwapG5eVSU-O_fPax7uyZE0lt0E"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"117062f0-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:56692","level":"info","msg":"Sent response.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.240662,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d02645c-2e58-4ae6-8f75-017bca256bad","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/3d02645c-2e58-4ae6-8f75-017bca256bad","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445783,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4M30.jOhBPF_mrJD7evJOJwapG5eVSU-O_fPax7uyZE0lt0E"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1170b110-3d2f-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f627c26-ddc2-425f-804f-31f9c1480dbf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f627c26-ddc2-425f-804f-31f9c1480dbf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:21.529558604Z"}]},"request_id":"d226737a-e868-4dff-9170-1857117a3cd8","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445783.724245} 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":"117062f0-3d2f-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d02645c-2e58-4ae6-8f75-017bca256bad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d02645c-2e58-4ae6-8f75-017bca256bad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:21.570473101Z"}]},"request_id":"b96a49d9-b5c1-403b-bf2d-89ed67a6797f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445783.7265117} 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":"1170b110-3d2f-11ef-b932-e1799b48160b"},"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/4f627c26-ddc2-425f-804f-31f9c1480dbf? 200 22ms","method":"GET","requestID":"117062f0-3d2f-11ef-b932-e1799b48160b","responseTime":22,"status":200,"url":"/devices/4f627c26-ddc2-425f-804f-31f9c1480dbf?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/3d02645c-2e58-4ae6-8f75-017bca256bad? 200 23ms","method":"GET","requestID":"1170b110-3d2f-11ef-b932-e1799b48160b","responseTime":23,"status":200,"url":"/devices/3d02645c-2e58-4ae6-8f75-017bca256bad?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f37e730-22f9-4daf-9e1b-7f20957fb1cc"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f37e730-22f9-4daf-9e1b-7f20957fb1cc"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f37e730-22f9-4daf-9e1b-7f20957fb1cc"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f37e730-22f9-4daf-9e1b-7f20957fb1cc"},"level":"info","message":"Attempting to instantiate devices for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.277458,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:23Z"} authorization-1 | {"action":"instantiate","level":"info","message":"opa_check","object":"device:http://localhost/devices/4f627c26-ddc2-425f-804f-31f9c1480dbf","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/4f627c26-ddc2-425f-804f-31f9c1480dbf","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445783,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4M30.jOhBPF_mrJD7evJOJwapG5eVSU-O_fPax7uyZE0lt0E"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"451","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"11778ee0-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6eb8c328-5074-4b60-b8f1-3c9f19a0c194","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"893a1e60-2533-434a-872e-01556113cbbf","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445783.7923827} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ee13a30c-84ba-43af-9cba-97583d3127bc","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445783.792955} 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":"11778ee0-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} device-1 | {"level":"info","message":"registering changed-callback for device 'http://localhost/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postDevicesByDeviceId succeeded"} authentication-1 | {"level":"info","message":"POST /token 201 32ms","method":"POST","requestID":"117f5710-3d2f-11ef-8571-eddc8a8f2158","responseTime":32,"status":201,"url":"/token"} device-1 | {"level":"info","message":"POST /devices/4f627c26-ddc2-425f-804f-31f9c1480dbf?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 90ms","method":"POST","requestID":"11778ee0-3d2f-11ef-b932-e1799b48160b","responseTime":90,"status":201,"url":"/devices/4f627c26-ddc2-425f-804f-31f9c1480dbf?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f37e730-22f9-4daf-9e1b-7f20957fb1cc"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f37e730-22f9-4daf-9e1b-7f20957fb1cc"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f37e730-22f9-4daf-9e1b-7f20957fb1cc"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f37e730-22f9-4daf-9e1b-7f20957fb1cc"},"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:58630","level":"info","msg":"Received request.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.274372,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:23Z"} authorization-1 | {"client_addr":"127.0.0.1:56692","level":"info","msg":"Received request.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:23Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f37e730-22f9-4daf-9e1b-7f20957fb1cc"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445783,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4M30.jOhBPF_mrJD7evJOJwapG5eVSU-O_fPax7uyZE0lt0E"} 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":"118daef0-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:56692","level":"info","msg":"Sent response.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.617956,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:23Z"} authorization-1 | {"client_addr":"127.0.0.1:56696","level":"info","msg":"Received request.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d02645c-2e58-4ae6-8f75-017bca256bad","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/3d02645c-2e58-4ae6-8f75-017bca256bad","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445783,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4M30.jOhBPF_mrJD7evJOJwapG5eVSU-O_fPax7uyZE0lt0E"} 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":"118dfd10-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:56696","level":"info","msg":"Sent response.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.805999,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:23Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6eb8c328-5074-4b60-b8f1-3c9f19a0c194","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b8b229f4-a51f-4543-be39-1ba5f035775e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445783.9155698} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194","object_type":"device","rebac_allow":false,"scope_allow":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":"118e2420-3d2f-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6eb8c328-5074-4b60-b8f1-3c9f19a0c194","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6eb8c328-5074-4b60-b8f1-3c9f19a0c194","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:23.792330824Z"}]},"request_id":"87bfca2c-3509-4b5b-951c-393c14f2b01d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445783.923798} 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":"118daef0-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"data":{"error":"MissingEntityError","message":"Could not find websocket connection for device 6eb8c328-5074-4b60-b8f1-3c9f19a0c194","method":"POST","stack":"MissingEntityError: Could not find websocket connection for device 6eb8c328-5074-4b60-b8f1-3c9f19a0c194\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/6eb8c328-5074-4b60-b8f1-3c9f19a0c194/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"118e2420-3d2f-11ef-b932-e1799b48160b"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d02645c-2e58-4ae6-8f75-017bca256bad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d02645c-2e58-4ae6-8f75-017bca256bad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:21.570473101Z"}]},"request_id":"0118e333-fa43-446c-931c-f0ddad48dfa9","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445783.9279516} device-1 | {"level":"info","message":"POST /devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194/signaling 404 24ms","method":"POST","requestID":"118e2420-3d2f-11ef-b932-e1799b48160b","responseTime":24,"status":404,"url":"/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"118dfd10-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"Could not find websocket connection for device 6eb8c328-5074-4b60-b8f1-3c9f19a0c194"},"status":404}},"level":"error","message":"Could not send status-update message"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7f37e730-22f9-4daf-9e1b-7f20957fb1cc#owner@http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7f37e730-22f9-4daf-9e1b-7f20957fb1cc","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"bb96dc17-5084-44bd-8cc6-69b47a892cb8","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445783.939486} device-1 | {"level":"info","message":"GET /devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194? 200 38ms","method":"GET","requestID":"118daef0-3d2f-11ef-b932-e1799b48160b","responseTime":38,"status":200,"url":"/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"132214a8-ef06-4c2f-b006-881da94cdfb7","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445783.9400008} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/3d02645c-2e58-4ae6-8f75-017bca256bad? 200 38ms","method":"GET","requestID":"118dfd10-3d2f-11ef-b932-e1799b48160b","responseTime":38,"status":200,"url":"/devices/3d02645c-2e58-4ae6-8f75-017bca256bad?"} 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":"987d70c78b1866277a1d2ea1e212ea85"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":27}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d02645c-2e58-4ae6-8f75-017bca256bad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"29e977d6-73de-474f-927f-86c97f598476","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445783.944015} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.024267,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d02645c-2e58-4ae6-8f75-017bca256bad","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3d02645c-2e58-4ae6-8f75-017bca256bad","object_type":"device","rebac_allow":false,"scope_allow":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":"119290f0-3d2f-11ef-b932-e1799b48160b"},"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/3d02645c-2e58-4ae6-8f75-017bca256bad/signaling 200 14ms","method":"POST","requestID":"119290f0-3d2f-11ef-b932-e1799b48160b","responseTime":14,"status":200,"url":"/devices/3d02645c-2e58-4ae6-8f75-017bca256bad/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/7f37e730-22f9-4daf-9e1b-7f20957fb1cc","user":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 287ms","method":"POST","requestID":"987d70c78b1866277a1d2ea1e212ea85","responseTime":287,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"08/Jul/2024:13:36:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1107","request_time":"0.293","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"987d70c78b1866277a1d2ea1e212ea85"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"66b7c42bab771cfcb066166aefb5d449","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/Jul/2024:13:36:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194/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":"66b7c42bab771cfcb066166aefb5d449"} device-1 | {"level":"info","message":"OPTIONS /devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194/websocket 200 1ms","method":"OPTIONS","requestID":"66b7c42bab771cfcb066166aefb5d449","responseTime":1,"status":200,"url":"/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ik5GcnBnQjZKNzA0Y0VwMkk2aFlUSkh0YmRNWWp5Ry1udHRfRHJKYXlmMjJuQlFwdEs3SU5pSGEwOFQyVEpxV1dGa1YwcHJXRlZiRGRXbTJjUE5MVEN3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4NX0.3tPKFbF9vffb7G29SfuSzAc73WqO1cbfMV_3tjkQzFw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9e7a44d1ed11a60c415d542a1333dfdb","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:25Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.187957,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:25Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194","object_type":"device","payload":{"admin":true,"edgeToken":"NFrpgB6J704cEp2I6hYTJHtbdMYjyG-ntt_DrJayf22nBQptK7INiHa08T2TJqWWFkV0prWFVbDdWm2cPNLTCw","iat":1720445785,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ik5GcnBnQjZKNzA0Y0VwMkk2aFlUSkh0YmRNWWp5Ry1udHRfRHJKYXlmMjJuQlFwdEs3SU5pSGEwOFQyVEpxV1dGa1YwcHJXRlZiRGRXbTJjUE5MVEN3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4NX0.3tPKFbF9vffb7G29SfuSzAc73WqO1cbfMV_3tjkQzFw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9e7a44d1ed11a60c415d542a1333dfdb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:36:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9e7a44d1ed11a60c415d542a1333dfdb"} device-1 | {"level":"info","message":"POST /devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194/websocket 200 21ms","method":"POST","requestID":"9e7a44d1ed11a60c415d542a1333dfdb","responseTime":21,"status":200,"url":"/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194/websocket"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194' connected"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"eecc3758f264e008a5627995f2ae082c","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","device":{"announcedAvailability":[],"connected":true,"description":"A JS test device","isPublic":true,"name":"JS Device 1","services":[],"type":"device","url":"http://localhost/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194"},"eventType":"device-changed"}},"level":"info","message":"received a callback"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4Nn0.aas9KwPFm62Edtt1BH3o-q3X7IqkY0Bg_wzX8WkQr9A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"dadb6c43a15e0ac973c89ed0918944f4","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:26Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.776095,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445786,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4Nn0.aas9KwPFm62Edtt1BH3o-q3X7IqkY0Bg_wzX8WkQr9A"} 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":"dadb6c43a15e0ac973c89ed0918944f4"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6eb8c328-5074-4b60-b8f1-3c9f19a0c194","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6eb8c328-5074-4b60-b8f1-3c9f19a0c194","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:23.792330824Z"}]},"request_id":"11fe8fee-4a24-4c5f-a318-5f3fd2c6ac02","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445786.029481} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dadb6c43a15e0ac973c89ed0918944f4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 19ms","method":"POST","requestID":"eecc3758f264e008a5627995f2ae082c","responseTime":19,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:36: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.023","http_referrer":"","http_user_agent":"node-fetch","requestID":"eecc3758f264e008a5627995f2ae082c"} gateway-1 | {"time_local":"08/Jul/2024:13:36:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194? 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":"dadb6c43a15e0ac973c89ed0918944f4"} device-1 | {"level":"info","message":"GET /devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194? 200 14ms","method":"GET","requestID":"dadb6c43a15e0ac973c89ed0918944f4","responseTime":14,"status":200,"url":"/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4Nn0.aas9KwPFm62Edtt1BH3o-q3X7IqkY0Bg_wzX8WkQr9A","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"b19d705743ef67aa098a49cee15df79a","responseTime":6,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:26Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.305168,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d02645c-2e58-4ae6-8f75-017bca256bad","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/3d02645c-2e58-4ae6-8f75-017bca256bad","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445786,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4Nn0.aas9KwPFm62Edtt1BH3o-q3X7IqkY0Bg_wzX8WkQr9A"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b19d705743ef67aa098a49cee15df79a"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d02645c-2e58-4ae6-8f75-017bca256bad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d02645c-2e58-4ae6-8f75-017bca256bad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:21.570473101Z"}]},"request_id":"7ae0398a-e797-4795-8155-099d91a30dc5","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445786.0539322} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b19d705743ef67aa098a49cee15df79a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/Jul/2024:13:36:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3d02645c-2e58-4ae6-8f75-017bca256bad? 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":"b19d705743ef67aa098a49cee15df79a"} device-1 | {"level":"info","message":"GET /devices/3d02645c-2e58-4ae6-8f75-017bca256bad? 200 16ms","method":"GET","requestID":"b19d705743ef67aa098a49cee15df79a","responseTime":16,"status":200,"url":"/devices/3d02645c-2e58-4ae6-8f75-017bca256bad?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:28Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.212956,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445783,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4M30.jOhBPF_mrJD7evJOJwapG5eVSU-O_fPax7uyZE0lt0E"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"148f2f20-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:60030","level":"info","msg":"Received request.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:28Z"} authorization-1 | {"client_addr":"127.0.0.1:60030","level":"info","msg":"Sent response.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":3.283755,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d02645c-2e58-4ae6-8f75-017bca256bad","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/3d02645c-2e58-4ae6-8f75-017bca256bad","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445783,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4M30.jOhBPF_mrJD7evJOJwapG5eVSU-O_fPax7uyZE0lt0E"} 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":"148f7d40-3d2f-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6eb8c328-5074-4b60-b8f1-3c9f19a0c194","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6eb8c328-5074-4b60-b8f1-3c9f19a0c194","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:23.792330824Z"}]},"request_id":"5d2b568e-ffdd-403d-a734-0bec9945564b","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445788.9602065} 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":"148f2f20-3d2f-11ef-b932-e1799b48160b"},"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:55868","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d02645c-2e58-4ae6-8f75-017bca256bad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d02645c-2e58-4ae6-8f75-017bca256bad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"},"timestamp":"2024-07-08T13:36:21.570473101Z"}]},"request_id":"38c1e8c5-d0df-461b-8897-9f9b1d0d8b38","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445788.965585} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"148f7d40-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"GET /devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194? 200 21ms","method":"GET","requestID":"148f2f20-3d2f-11ef-b932-e1799b48160b","responseTime":21,"status":200,"url":"/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/3d02645c-2e58-4ae6-8f75-017bca256bad? 200 23ms","method":"GET","requestID":"148f7d40-3d2f-11ef-b932-e1799b48160b","responseTime":23,"status":200,"url":"/devices/3d02645c-2e58-4ae6-8f75-017bca256bad?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:28Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6eb8c328-5074-4b60-b8f1-3c9f19a0c194","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3e06b2bb-ed94-47c9-b4ac-514894e95150","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445788.9811115} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.474373,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194","object_type":"device","rebac_allow":false,"scope_allow":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":"149374e0-3d2f-11ef-b932-e1799b48160b"},"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/6eb8c328-5074-4b60-b8f1-3c9f19a0c194/signaling 200 13ms","method":"POST","requestID":"149374e0-3d2f-11ef-b932-e1799b48160b","responseTime":13,"status":200,"url":"/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:28Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d02645c-2e58-4ae6-8f75-017bca256bad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1f670399-ba1d-43e0-99fc-18c2320a9f40","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445788.9972346} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.836552,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d02645c-2e58-4ae6-8f75-017bca256bad","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3d02645c-2e58-4ae6-8f75-017bca256bad","object_type":"device","rebac_allow":false,"scope_allow":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":"1495e5e0-3d2f-11ef-b932-e1799b48160b"},"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/3d02645c-2e58-4ae6-8f75-017bca256bad/signaling 200 13ms","method":"POST","requestID":"1495e5e0-3d2f-11ef-b932-e1799b48160b","responseTime":13,"status":200,"url":"/devices/3d02645c-2e58-4ae6-8f75-017bca256bad/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f37e730-22f9-4daf-9e1b-7f20957fb1cc"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f37e730-22f9-4daf-9e1b-7f20957fb1cc"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"0338470e-48a7-45d4-b759-990cd5999df1"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"cf614c0a-e7e2-433c-8743-ed8a662d6b76"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"57d0d5a9-196c-441d-b13a-4fecf6064dc0"}]},"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/6eb8c328-5074-4b60-b8f1-3c9f19a0c194"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/3d02645c-2e58-4ae6-8f75-017bca256bad"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:29Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.212081,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445783,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4M30.jOhBPF_mrJD7evJOJwapG5eVSU-O_fPax7uyZE0lt0E"} 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":"14987df0-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","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%2Fadea3d36-5af1-46f9-aee4-f6654430470a'. 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:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]}},"raw_response":{},"request_id":"2dad9eb1-bf64-4996-aa20-270928815919","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445789.0264525} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"95c4bdd2-5faf-4e55-b6eb-dda6023ec5de","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445789.0267506} 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":"14987df0-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} 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/050f9183-ccde-4785-9b2b-9ccfc8d5ab3d'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/050f9183-ccde-4785-9b2b-9ccfc8d5ab3d'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 38ms","method":"POST","requestID":"14987df0-3d2f-11ef-b932-e1799b48160b","responseTime":38,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f37e730-22f9-4daf-9e1b-7f20957fb1cc"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:29Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6eb8c328-5074-4b60-b8f1-3c9f19a0c194","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a27b5f49-52ba-412a-883e-aaee914d5149","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445789.0830433} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.146702,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194","object_type":"device","rebac_allow":false,"scope_allow":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":"14a35360-3d2f-11ef-b932-e1799b48160b"},"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/6eb8c328-5074-4b60-b8f1-3c9f19a0c194/signaling 200 8ms","method":"POST","requestID":"14a35360-3d2f-11ef-b932-e1799b48160b","responseTime":8,"status":200,"url":"/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:29Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d02645c-2e58-4ae6-8f75-017bca256bad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"df9f9de7-1ec5-46b3-96e5-02180598c9c7","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445789.0927138} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.902119,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d02645c-2e58-4ae6-8f75-017bca256bad","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3d02645c-2e58-4ae6-8f75-017bca256bad","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"14a4da00-3d2f-11ef-b932-e1799b48160b"},"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/3d02645c-2e58-4ae6-8f75-017bca256bad/signaling 200 10ms","method":"POST","requestID":"14a4da00-3d2f-11ef-b932-e1799b48160b","responseTime":10,"status":200,"url":"/devices/3d02645c-2e58-4ae6-8f75-017bca256bad/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/3d02645c-2e58-4ae6-8f75-017bca256bad'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/050f9183-ccde-4785-9b2b-9ccfc8d5ab3d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"050f9183-ccde-4785-9b2b-9ccfc8d5ab3d","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"dec46888e646a69d9bc483f311ad4147","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/3d02645c-2e58-4ae6-8f75-017bca256bad"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/050f9183-ccde-4785-9b2b-9ccfc8d5ab3d"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"dec46888e646a69d9bc483f311ad4147","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:36:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"dec46888e646a69d9bc483f311ad4147"} device-1 | {"data":{"peerconnection":"050f9183-ccde-4785-9b2b-9ccfc8d5ab3d","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"050f9183-ccde-4785-9b2b-9ccfc8d5ab3d","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/050f9183-ccde-4785-9b2b-9ccfc8d5ab3d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"050f9183-ccde-4785-9b2b-9ccfc8d5ab3d","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"590549b408724f13ea28be5dfab26eba","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/6eb8c328-5074-4b60-b8f1-3c9f19a0c194"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3d02645c-2e58-4ae6-8f75-017bca256bad"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/050f9183-ccde-4785-9b2b-9ccfc8d5ab3d"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:29Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F050f9183-ccde-4785-9b2b-9ccfc8d5ab3d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5d9cfe1c-8929-4006-8195-8e9e41c5096f","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445789.1628263} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.16789,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/050f9183-ccde-4785-9b2b-9ccfc8d5ab3d","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/050f9183-ccde-4785-9b2b-9ccfc8d5ab3d","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":"14afaf70-3d2f-11ef-b932-e1799b48160b"},"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/050f9183-ccde-4785-9b2b-9ccfc8d5ab3d 200 7ms","method":"GET","requestID":"14afaf70-3d2f-11ef-b932-e1799b48160b","responseTime":7,"status":200,"url":"/peerconnections/050f9183-ccde-4785-9b2b-9ccfc8d5ab3d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 29ms","method":"POST","requestID":"590549b408724f13ea28be5dfab26eba","responseTime":29,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:36:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch","requestID":"590549b408724f13ea28be5dfab26eba"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:29Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6eb8c328-5074-4b60-b8f1-3c9f19a0c194","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a2e68d23-dbb6-44c9-ac3f-6463197ea7e6","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445789.1875508} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.109022,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"14b358f0-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194/signaling 200 7ms","method":"POST","requestID":"14b358f0-3d2f-11ef-b932-e1799b48160b","responseTime":7,"status":200,"url":"/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:29Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d02645c-2e58-4ae6-8f75-017bca256bad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fe96c417-09fd-40e1-bcf9-6897d74402ec","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445789.196065} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.045965,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d02645c-2e58-4ae6-8f75-017bca256bad","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3d02645c-2e58-4ae6-8f75-017bca256bad","object_type":"device","rebac_allow":false,"scope_allow":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":"14b4b880-3d2f-11ef-b932-e1799b48160b"},"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/3d02645c-2e58-4ae6-8f75-017bca256bad/signaling 200 7ms","method":"POST","requestID":"14b4b880-3d2f-11ef-b932-e1799b48160b","responseTime":7,"status":200,"url":"/devices/3d02645c-2e58-4ae6-8f75-017bca256bad/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4OX0.yWR1yroxQSNvB9HLMjcJhyiOopAj5pAA5pNYtfMauyU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1c02fb3779070b2ec7503e5f06d2f462","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7f37e730-22f9-4daf-9e1b-7f20957fb1cc"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:29Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.965558,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7f37e730-22f9-4daf-9e1b-7f20957fb1cc","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/7f37e730-22f9-4daf-9e1b-7f20957fb1cc","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445789,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4OX0.yWR1yroxQSNvB9HLMjcJhyiOopAj5pAA5pNYtfMauyU"} 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":"1c02fb3779070b2ec7503e5f06d2f462"},"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/7f37e730-22f9-4daf-9e1b-7f20957fb1cc"} experiment-1 | {"level":"info","message":"GET /experiments/7f37e730-22f9-4daf-9e1b-7f20957fb1cc 200 11ms","method":"GET","requestID":"1c02fb3779070b2ec7503e5f06d2f462","responseTime":11,"status":200,"url":"/experiments/7f37e730-22f9-4daf-9e1b-7f20957fb1cc"} gateway-1 | {"time_local":"08/Jul/2024:13:36:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7f37e730-22f9-4daf-9e1b-7f20957fb1cc HTTP/1.1","status": "200","body_bytes_sent":"1180","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1c02fb3779070b2ec7503e5f06d2f462"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4OX0.yWR1yroxQSNvB9HLMjcJhyiOopAj5pAA5pNYtfMauyU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"78fcccee94952bddd49f30a82ea9ab30","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/7f37e730-22f9-4daf-9e1b-7f20957fb1cc"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:29Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.292157,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:29Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7f37e730-22f9-4daf-9e1b-7f20957fb1cc","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"experiment:http://localhost/experiments/7f37e730-22f9-4daf-9e1b-7f20957fb1cc","object_type":"experiment","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445789,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4OX0.yWR1yroxQSNvB9HLMjcJhyiOopAj5pAA5pNYtfMauyU"} 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":"78fcccee94952bddd49f30a82ea9ab30"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f37e730-22f9-4daf-9e1b-7f20957fb1cc"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:29Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.155375,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:29Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/050f9183-ccde-4785-9b2b-9ccfc8d5ab3d","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"peerconnection:http://localhost/peerconnections/050f9183-ccde-4785-9b2b-9ccfc8d5ab3d","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445789,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4OX0.yWR1yroxQSNvB9HLMjcJhyiOopAj5pAA5pNYtfMauyU"} 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":"14c0c670-3d2f-11ef-b932-e1799b48160b"},"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/050f9183-ccde-4785-9b2b-9ccfc8d5ab3d' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/050f9183-ccde-4785-9b2b-9ccfc8d5ab3d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"050f9183-ccde-4785-9b2b-9ccfc8d5ab3d","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"601a3ca01baa8cbf2d162c19d0b38cf1","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F050f9183-ccde-4785-9b2b-9ccfc8d5ab3d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F050f9183-ccde-4785-9b2b-9ccfc8d5ab3d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"3aecceea-c631-4f21-9a6c-ecd0ad3c9428","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445789.2935615} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"264de5116ad0207574cda13786c929d4","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/6eb8c328-5074-4b60-b8f1-3c9f19a0c194"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3d02645c-2e58-4ae6-8f75-017bca256bad"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/050f9183-ccde-4785-9b2b-9ccfc8d5ab3d"}}},"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":"closed","url":"http://localhost/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3d02645c-2e58-4ae6-8f75-017bca256bad"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/050f9183-ccde-4785-9b2b-9ccfc8d5ab3d"}}},"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:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"822e8f6a-cf6a-48f8-a1e0-3ec5f9edce7d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445789.2954946} 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":"14c0c670-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"data":{"peerconnection":"050f9183-ccde-4785-9b2b-9ccfc8d5ab3d","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/050f9183-ccde-4785-9b2b-9ccfc8d5ab3d 204 43ms","method":"DELETE","requestID":"14c0c670-3d2f-11ef-b932-e1799b48160b","responseTime":43,"status":204,"url":"/peerconnections/050f9183-ccde-4785-9b2b-9ccfc8d5ab3d"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:29Z"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.011163,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:29Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"device:http://localhost/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a","object":"device:http://localhost/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194","object_type":"device","payload":{"admin":true,"edgeToken":"XvPulg-oww_cAun9TFiNP584aw2eY6Tae-NYjrtU5CpY5o9w0due2whokXoPu23-otwiY6kgktEEEdyWFWURRQ","iat":1720445789,"sub":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a","subject_alt":"http://localhost/users/adea3d36-5af1-46f9-aee4-f6654430470a"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2FkZWEzZDM2LTVhZjEtNDZmOS1hZWU0LWY2NjU0NDMwNDcwYSIsImVkZ2VUb2tlbiI6Ilh2UHVsZy1vd3dfY0F1bjlURmlOUDU4NGF3MmVZNlRhZS1OWWpydFU1Q3BZNW85dzBkdWUyd2hva1hvUHUyMy1vdHdpWTZrZ2t0RUVFZHlXRldVUlJRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMDQ0NTc4OX0.yWR1yroxQSNvB9HLMjcJhyiOopAj5pAA5pNYtfMauyU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"446","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"14c7a440-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'device:http%3A%2F%2Flocalhost%2Fdevices%2F6eb8c328-5074-4b60-b8f1-3c9f19a0c194': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6eb8c328-5074-4b60-b8f1-3c9f19a0c194","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"c8370e2d-b48e-4be9-ad4e-9fbe7ca1fc38","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445789.329793} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"33e1aac9-7c40-4d3d-a424-ac133d441b6d","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445789.3302102} 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":"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":"14c7a440-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"deleteDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"DELETE /devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194 204 28ms","method":"DELETE","requestID":"14c7a440-3d2f-11ef-b932-e1799b48160b","responseTime":28,"status":204,"url":"/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f37e730-22f9-4daf-9e1b-7f20957fb1cc"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Received request.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:29Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6eb8c328-5074-4b60-b8f1-3c9f19a0c194","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"30333635-3d7a-42cc-864e-8f8e75a4cd8e","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445789.3713949} authorization-1 | {"client_addr":"127.0.0.1:58630","level":"info","msg":"Sent response.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.086257,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"14cf4560-3d2f-11ef-b932-e1799b48160b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} 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/6eb8c328-5074-4b60-b8f1-3c9f19a0c194/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"14cf4560-3d2f-11ef-b932-e1799b48160b"} device-1 | {"level":"info","message":"POST /devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194/signaling 404 10ms","method":"POST","requestID":"14cf4560-3d2f-11ef-b932-e1799b48160b","responseTime":10,"status":404,"url":"/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194/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:58630","level":"info","msg":"Received request.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-08T13:36:29Z"} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7f37e730-22f9-4daf-9e1b-7f20957fb1cc': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7f37e730-22f9-4daf-9e1b-7f20957fb1cc","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fadea3d36-5af1-46f9-aee4-f6654430470a"}]},"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","writes":null},"raw_response":{},"request_id":"449d891f-b828-4bea-a6fa-7e38faed8be0","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445789.383582} authorization-1 | {"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","contextual_tuples":null,"store_id":"01J298TYBKRGD0MFGJ60SBV3AD","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d02645c-2e58-4ae6-8f75-017bca256bad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1fea94a0-603a-4d88-ba49-2f1103e4e3f0","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445789.3836834} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55868","raw_request":{"id":"01J298TYCSZ32W7M62F4QN1CV3","store_id":"01J298TYBKRGD0MFGJ60SBV3AD"},"raw_response":{"authorization_model":{"id":"01J298TYCSZ32W7M62F4QN1CV3","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"60762d2b-ee7f-4cbb-a397-695294979612","store_id":"01J298TYBKRGD0MFGJ60SBV3AD","subsystem":"openfga","timestamp":1720445789.3837886} 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":"78fcccee94952bddd49f30a82ea9ab30"},"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:58630","level":"info","msg":"Sent response.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.920147,"resp_status":200,"subsystem":"opa","time":"2024-07-08T13:36:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3d02645c-2e58-4ae6-8f75-017bca256bad","openfga":{"authorization_model_id":"01J298TYCSZ32W7M62F4QN1CV3","store":"01J298TYBKRGD0MFGJ60SBV3AD"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3d02645c-2e58-4ae6-8f75-017bca256bad","object_type":"device","rebac_allow":false,"scope_allow":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":"14d11a20-3d2f-11ef-b932-e1799b48160b"},"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/3d02645c-2e58-4ae6-8f75-017bca256bad/signaling 200 13ms","method":"POST","requestID":"14d11a20-3d2f-11ef-b932-e1799b48160b","responseTime":13,"status":200,"url":"/devices/3d02645c-2e58-4ae6-8f75-017bca256bad/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/7f37e730-22f9-4daf-9e1b-7f20957fb1cc"} gateway-1 | {"time_local":"08/Jul/2024:13:36:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/7f37e730-22f9-4daf-9e1b-7f20957fb1cc HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.195","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"78fcccee94952bddd49f30a82ea9ab30"} experiment-1 | {"level":"info","message":"DELETE /experiments/7f37e730-22f9-4daf-9e1b-7f20957fb1cc 204 191ms","method":"DELETE","requestID":"78fcccee94952bddd49f30a82ea9ab30","responseTime":191,"status":204,"url":"/experiments/7f37e730-22f9-4daf-9e1b-7f20957fb1cc"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 155ms","method":"POST","requestID":"601a3ca01baa8cbf2d162c19d0b38cf1","responseTime":155,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:36:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.158","http_referrer":"","http_user_agent":"node-fetch","requestID":"601a3ca01baa8cbf2d162c19d0b38cf1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 155ms","method":"POST","requestID":"264de5116ad0207574cda13786c929d4","responseTime":155,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:36:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.157","http_referrer":"","http_user_agent":"node-fetch","requestID":"264de5116ad0207574cda13786c929d4"} gateway-1 | {"time_local":"08/Jul/2024:13:36:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2647","request_time":"5.837","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4658197e5df69e14a5c3f93319f9f713"} gateway-1 | {"time_local":"08/Jul/2024:13:36:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2406","request_time":"3.459","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"42edbbe4575625446812d42decddd764"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/3d02645c-2e58-4ae6-8f75-017bca256bad' closed"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194' closed"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"089d42b7768f1d7bc365a85bbfbffde7","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","device":{"announcedAvailability":[],"connected":false,"description":"A JS test device","isPublic":true,"name":"JS Device 1","services":[],"type":"device","url":"http://localhost/devices/6eb8c328-5074-4b60-b8f1-3c9f19a0c194"},"eventType":"device-changed"}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 410 2ms","method":"POST","requestID":"089d42b7768f1d7bc365a85bbfbffde7","responseTime":2,"status":410,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/Jul/2024:13:36:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "410","body_bytes_sent":"5","request_time":"0.004","http_referrer":"","http_user_agent":"node-fetch","requestID":"089d42b7768f1d7bc365a85bbfbffde7"} federation-1 exited with code 0 authorization-1 exited with code 0 device-1 exited with code 0 experiment-1 exited with code 0 authentication-1 exited with code 0 gateway-1 exited with code 0